二级MYSQL数据库考试大纲.docx
- 文档编号:24415519
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:15
- 大小:20.94KB
二级MYSQL数据库考试大纲.docx
《二级MYSQL数据库考试大纲.docx》由会员分享,可在线阅读,更多相关《二级MYSQL数据库考试大纲.docx(15页珍藏版)》请在冰豆网上搜索。
二级MYSQL数据库考试大纲
二级MySQL数据库程序设计考试大纲
基本要求
1.掌握数据库技术的基本概念和方法。
2.熟练掌握MySQL的安装与配置。
3.熟练掌握MySQL平台下使用SQL语言实现数据库的交互操作。
4.熟练掌握MySQL的数据库编程。
5.熟悉PHP应用开发语言,初步具备利用该语言进行简单应用系统开发的能力。
6.掌握MySQL数据库的管理与维护技术。
考试内容
一、基本概念与方法
1.数据库的基本概念和特点
基本概念:
数据:
数据是数据库中存储的基本对象,按一定规则排列组合的物理符号【数字、文字、图像、计算机代码等】。
数据库:
数据库是存放数据的仓库,是长期储存在计算机内的、有组织的、可共享的数据集合。
特点:
结构化、共享性好、冗余度小、独立性高、由DBMS统一管理和控制。
2.数据库系统的结构
数据库的三级模式结构:
内模式:
是数据库中全体数据的内部表示或底层描述,是数据库最低级的逻辑描述,又叫存储模式,物理级的。
模式:
数据库在逻辑级上的视图,又叫概念模式或逻辑模式,概念级的。
外模式:
用户与数据库系统的接口,是用户用到的那部分数据的描述,又叫子模式或用户模式,用户级的
外模式/模式映像模式/内模式映像
3.数据模型
1>数据模型概念:
对现实世界中数据特征的抽象,描述的是数据的共性。
2>数据模型的三个要求:
一、能比较真实地模仿现实世界;
二、容易为人们所理解;
三、便于在计算机上实现;
3>数据抽象级别:
(一)、概念层
概念层是数据抽象级别的最高层,是按用户的观点对现实世界建模的。
概念层的数据模型叫概念数据模型,又叫概念模型,例如实体-联系模型(E-R模型:
实体型【矩形框】、联系【菱形框】、属性【椭圆形框】、连线【直线】)。
概念模型:
(1)、实体:
一个实体是现实世界客观存在的一个事物。
(2)、属性:
属性是用来描述实体的特性。
(3)、码:
码的值能唯一地标识每个实体的属性集,称为实体的标识。
在关系数据库中实体的标识称为码或者键(Key),其标识码是实体的单个属性或属性子集的值。
(4)、域:
域是值的集合,属性的取值范围称为该属性的域。
(5)、实体型:
具有相同属性的实体必然具有共同的特征和性质。
用实体名与属性名集合来抽象和刻画同类实体,称为实体型,同型实体的集合称为实体集。
(6)、联系:
1—1、1—*、*—*。
(二)、逻辑层
逻辑层是数据抽象级别的中间层,描述数据库数据整体的逻辑结构。
逻辑层的数据抽象叫逻辑数据模型,是基于计算机系统的观点来对数据进行建模和表示,例如网状数据模型、层次数据模型、面向对象数据模型和关系数据模型等。
关系模型:
(1)、关系:
一个关系逻辑上对应一张二维表(格)。
(2)、元组:
表中的行称为元组,组成元组的元素称为分量。
(3)、属性:
表中的列称为属性。
(4)、主键:
用户选作标识元组的一个候选键称为主键,也称为关键字。
(5)、域:
域是一组具有相同的数据类型的值的集合。
(6)、表:
由行和列组成。
(7)、行:
表中的一条记录。
(8)、列:
表中的一个字段。
(9)、外键:
表中的一列或一组列,其中包含另一张表的主键值,主要用于定义两个表之间的关系。
(10)、关系模式:
对关系的描述称为关系模式。
关系模式规范化的基本方法:
第一范式第二范式:
取消非主键列对主键的部分函数依赖;
第二范式第三范式:
取消非主键列对主键的传递函数依赖;
第三范式BCVF范式:
取消主键列对主键的部分函数依赖和传递函数依赖。
(三)、物理层
物理层是数据抽象级别的最底层,用来描述数据物理存储结构和存储方法。
物理层的数据抽象叫物理数据模型。
4.数据库设计方法
按数据库规范的设计的方法,可将数据库设计分为六个阶段:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护。
1>、概念结构设计:
E-R图。
2>、逻辑结构设计:
E-R图关系模型。
3>、物理设计:
(1)、确定数据库的物理结构;
(2)、对物理结构进行评价;
二、MySQL平台下的SQL交互操作
1.数据库、表、索引和视图的相关概念
~~~~~数据库~~~~~
1>、创建数据库
CREATEDATABASE[IFNOTEXISTS]data_name;
2>、选择数据库
USEdata_name;
3>、修改数据库
ALTERDATABASEdata_nameCHARACTERSET字符集名COLLATE校对规则名;
4>、删除数据库
DROPDATABASE[IFEXISTS]data_name;
5>、查看数据库
SHOWDATABASES;
SHOWCREATEDATABASEdata_name;
SELECTDATABASE();
~~~~~表~~~~~
1>、创建表
CREATETABLEtab_name(
列名1类型1,
列名2类型2,
列名3类型3,
……
)ENGINE=引擎类型;
2>、更改表
ALTERTABLEtab_nameADD/MODIFY/DROP/RENAMETO……;
3>、重命名表
RENAMETABLE旧表名TO新表名;
4>、复制表
CREATETABLE新表名LIKE旧表名;
5>、删除表
DROPTABLEtab_name1,tab_name2,……;
6>、查看表
SHOWTABLES;
DESCtab_name;
SELECT*FROMtab_nameWHERE……;
【笛卡尔积查询】
SELECT*FROMtab_name1,tab_name2;
【内连接查询】
SELECT*FROMtab_name1,tab_name2WHEREtab_name1.id=tab_name2.tab_name1.id;
SELECT*FROMtab_name1INNERJOINtab_name2ONtab_name1.id=tab_name2.tab_name1.id;
【左外连接查询】
SELECT*FROMtab_name1LEFTJOINtab_name2ONtab_name1.id=tab_name2.tab_name1.id;
【右外连接查询】
SELECT*FROMtab_name1RIGHTJOINtab_name2ONtab_name1.id=tab_name2.tab_name1.id;
【全外连接查询】
SELECT*FROMtab_name1LEFTJOINtab_name2ONtab_name1.id=tab_name2.tab_name1.idUNIONSELECT*FROMtab_name1RIGHTJOINtab_name2ONtab_name1.id=tab_name2.tab_name1.id;
~~~~~表数据~~~~~
1>、插入表数据
INSERTINTOtab_name(列名1,列名2,……)VALUES(值1,值2,……);
2>、更新表数据
UPDATEtab_nameSET字段1=值1,字段2=值2……;
3>、删除表数据
DELETEFROMtab_name1,tab_name2,……;
TRUNCATETABLEtab_name;
~~~~~索引~~~~~
MySQL中常用的索引有两种:
B-树索引、哈希索引。
哈希索引:
(1)、普通索引【INDEX|KEY】
(2)、唯一性索引【UNIQUEINDEX】
(3)、主键【PRIMARYKEY】
(4)、空间索引【GEOMETRY】引擎不能是InnoDB
(5)、全文索引【TEXT】引擎不能是InnoDB
1>、创建索引
CREATEINDEXidx_nameONtab_name列名ASC【升序】|DESC【降序】;
CREATETABLEtab_name(
列1类型1,
列2类型2,
……,
索引类型idx_name(列名)
);
ALTERTABLEtab_nameADDINDEXidx_name(列名);
2>、查看索引
SHOWINDEXFROMtab_name[FROMdata_name];
3>、删除索引
DROPINDEXidx_nameONtab_name;
ALTERTABLEtab_nameDROPINDEXidx_name;
~~~~~视图~~~~~
1>、创建视图
CREATE[ORREPLACE][ALGORITHM=视图的算法]VIEWview_name(别名1,别名2,……)ASSELECT_statement;
2>、删除视图
DROPVIEW[IFEXISTS]view_name1,view_name,……;
3>、查看视图
DESCview_name;
SHOWTABLESTATUSLIKE‘view_name’;
SHOWCREATEVIEWview_name;
4>、修改视图
CREATEORREPLACE[ALGORITHM=视图的算法]VIEWview_name(别名1,别名2,……)ASSELECT_statement;
ALTER[ALGORITHM=视图的算法]VIEWview_nameASSELECT_statement;
5>、更新视图
UPDATEview_nameSET列名1=值1,列名2=值2,……;
更新试图更新表数据
2.数据库、表、索引和视图的维护方法
3.数据库完整性约束的概念、定义及使用方法
定义数据完整性
关系模型有三种完整性约束:
实体完整性、参照完整性和用户定义完整性。
1>、实体完整性
(1)、主键约束【PRIMARYKEY】
(2)、候选键约束【UNIQUE】
2>、参照完整性:
表间主键外键的关系。
(1)、添加外键
CREATETABLEtab_name1(
列1类型1,
列2类型2,
……
FOREIGNKEY列REFERENCEStab_name2(列)
);
ALTERTABLEtab_name1ADDCONSTRAINTfk_nameFOREIGNKEY列REFERENCEStab_name2(列);
(2)、删除外键
ALTERTABLEtab_nameDROPFOREIGNKEYfk_name;
3>、用户定义完整性
(1)、非空约束【NOTNULL】
(2)、CHECK约束
命名完整性约束
更新完整性约束
三、MySQL的数据库编程
1.触发器、事件、存储过程和存储函数的概念
触发器:
触发器是被指定关联到一个表的数据库对象,当一个表的特定事件发生时,它将会被激活。
事件:
事件被称为临时触发器,是基于特定时间周期来执行某些任务。
存储过程:
一组为了完成特定功能的SQL语句集。
存储函数:
类似于存储过程。
2.触发器的创建及使用
1>、触发器的创建
CREATETRIGGERtrigger_nameBEFORE|AFTERINSERT|UPDATE|DELETEONtab_name|view_nameFOREACHROW<触发器主体【触发器动作,包含触发器激活时将要执行的MySQL语句】>;
2>、删除触发器
DROPTRIGGER[IFEXISTS][data_name]trigger_name;
3>、INSERT触发器
4>、UPDATE触发器
5>、DELETE触发器
3.事件的创建及使用
1>、创建事件
CREATEEVENT[IFONTEXISTS]event_nameONSCHEDULE时间调度DO事件主体;
2>、修改事件
ALTEREVENTevent_nameRENAMETO|DO事件主体|ENDBLE【DISABLE】;
3>、删除事件
DROPEVENT[IFEXISTS]event_name;
4.存储过程的创建及使用
1>、创建存储过程
DELIMITER//
CREATEPROCEDUREproc_name()
BEGIN
SQL语句;
END
//
DELIMITER;
2>、调用存储过程
CALLproc_name();
3>、修改存储过程
ALTERPROCEDUREproc_name特征……;
4>、删除存储过程
DELETEPROCEDURE[IFEXISTS]proc_name;
5.存储函数的创建及使用
1>、创建存储函数
DELIMITER//
CREATEFUNCTIONfunc_name()
RETURNS数据类型
函数主体
//
DELIMITER;
2>、调用存储函数
SELECTfunc_name();
3>、删除存储函数
DROPFUNCTION[IFEXISTS]func_name;
四、MySQL的管理与维护
1.MySQL的安装与配置
2.MySQL用户账号管理的作用及方法
1>、创建用户账号
CREATEUSERuser_name[IDENTIFIED]BY[PASSWORD]口令;
2>、删除用户账号
DROPUSERuser_name1,user_name2……;
3>、修改用户账号
RENAMEUSER旧用户TO新用户;
4>、修改用户口令
SETPASSWORD[FORuser_name]={PASSWORD(‘新明文口令’)|OLD_PASSWORD(‘旧明文口令’)|‘加密口令值’};
3.MySQL账户权限管理的作用及方法
1>、权限的授予
GRANT<权限类型1>[(<列名1>)],<权限类型2>[(<列名2>)],……ON<对象><权限级别>TO<用户>
其中<用户>的格式:
<用户名>[INDENTIFIEDBY[PASSWORD]<口令>][WITHGRANTOPTION]
|MAX_QUERIES_PER_HOURnum【每小时只能查询num条权限类型语句的权限】
|MAX_UPDATES_PER_HOURnum【每小时只能修改num条权限类型语句的权限】
|MAX_CONNECTIONS_PER_HOURnum【每小时只能连接num条权限类型语句的权限】
|MAX_USER_CONNECTIONSnum【同时只能连接num个用户】
2>、权限的转移
GRANT<权限类型>ONdata_name.tab_nameTOuser_nameIDENTIFIEDBY‘PASSWORD’WITHGRANTOPTION;
3>、权限的限制
GRANT<权限类型>ONdata_name.tab_nameTOuser_nameWITHMAX_______________________________;
4>、权限的撤销
REVOKE<权限类型1>[(<列名1>)],<权限类型2>[(<列名2>)]……ONdata_name.tab_nameFROMuser1,user,……;
REVOKEALLPRIVILEGES,GRANTOPTIONFROMuser1,user2,……;
4.二进制日志文件的使用
1>、开启日志文件
(1)、打开MySQL安装目录下的my.ini文件,如果是Linux系统则打开f文件。
(2)、找到标签[mysqld],在此标签下面,添加如下语句:
log-bin[=filename]【log-bin说明要开启的是二进制日志文件,可选项filename则是二进制日志文件的名字】
(3)、保存修改,重启MySQL服务器。
2>、查看二进制日志文件
mysqlbinlogfilename;----------仅查看
mysqlbinlogfilename>filename.txt;-----------将二进制日志文件保存到一个文本文件中
3>、使用二进制日志文件恢复数据
mysqlbinlogfilename|mysql–uroot–proot;
4>、删除二进制日志文件
RESETMASTER;------删除所有日志
PURGE{MASTER|BINARY}LOGSTOfilename;------删除指定日志文件
PURGEMASTERLOGSTOBEFOREdate;---------删除date之前的所有二进制日志文件
五、MySQL的应用编程
1.PHP语言的基本使用方法
php
$str=“helloworld”;
echo$str;
?
>
使用PHP进行MySQL数据库编程的基本步骤:
1>、与MySQL数据库服务器建立连接
(1)、建立非持久连接
$con=mysql_connect(“服务器名”,“用户名”,“密码”);
(2)、建立持久连接
$con=mysql_pconnect(“服务器名”,“用户名”,“密码”);
2>、选择数据库
Mysql_select_db(“data_name”,$con);
3>、执行数据库操作
(1)、数据的添加
mysql_query(“query”,$con);
$sql=“数据库插入信息的语句;”;
(2)、数据的查询
$arr=mysql_fetch_array(data,array_type);
mysql_fetch_row(data);
mysql_fetch_assoc(data);
$arr=mysql_num_rows(data);
$arr=mysql_data_seek(data,row);
(3)、数据的修改
$sql=“修改数据库的语句;”;
(4)、数据的删除
$sql=“删除数据的语句;”;
4>、关闭与MySQL数据库的连接
mysql_close($con)
2.MySQL平台下编制PHP简单应用程序
考试方式
上机考试,考试时长120分钟,满分100分。
1.题型及分值
单项选择题40分(含公共基础知识部分10分)
操作题60分(包括基本操作题、简单应用题及综合应用题)。
2.考试环境
开发环境:
WAMP5.0及以上
数据库管理系统:
MySQL5.5
编程语言:
PHP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 MYSQL 数据库 考试 大纲