《MySQL数据库技术》复习提纲 2.docx
《《MySQL数据库技术》复习提纲 2.docx》由会员分享,可在线阅读,更多相关《《MySQL数据库技术》复习提纲 2.docx(15页珍藏版)》请在冰豆网上搜索。
《MySQL数据库技术》复习提纲2
《MySQL数据库技术》复习提纲
1.数据库基础及设计相关知识
DBMS的中文名称数据库管理系统、概念是一种操纵和管理数据库的大型软件、功能用于建立、使用和维护数据库、特点1数据结构化.2数据冗余小易扩充,3数据独立于程序,4数据由DBMS统管理和控制常见的DBMS ACCESS、SQLServer、Oracle、MySQL、FoxPro和Sybase。
{.
1)DB的中文名称、概念。
数据库数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用开发工具、应用系统、数据库管理员和用户构成。
2)数据库的三级模式结构及其两种映射关系。
数据库用户视图的视角:
三级模式结构,包括模式、外模式和内模式。
数据库管理系统的角度:
集中式结构、分布式结构。
数据库系统应用的角度:
客户/服务器(C/S)结构、浏览器/服务器(B/S)结构。
标准答案:
1.模式(又称逻辑模式或概念模式)是对数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
2.外模式(又称子模式或用户模式),是对数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图。
3..内模式(也称存储模式),是对数据库中数据物理结构和存储方式的描述,是数据在数据库内部的表示形式。
外模式一模式映射,定义和建立某个外模式与模式间的对应关系保证数据与程序的逻辑独立性
通过模式一内模式映射,定义建立数据的逻辑结构(模式)与存储结构(内模式)间的对应关系,保证数据与程序的物理独立性)
3)B/S和C/S的区别。
c/s是客户端和服务器
b/s是浏览器和服务器
c/s在客户端要安装软件的
b/s只要有IE就可以浏览
c/s的扩展升级比较困难
b/s就很容易的
c/s的安全性好些
b/s就没有c/s就高
c/s般用在局域网
b/s般用在广域网
浏览器/服务器结构:
基于Web的数据库应用采用三层客户/服务器模式,也称B/S结构。
第一层为浏览器,第二层为Web服务器,第三层为数据库服务器。
一般流程:
浏览器是用户输入数据和显示结果的交互界面,用户在浏览器表单中输入数据,然后将表单中的数据提交并发送到Web服务器,Web服务器应用程序接收并处理用户的数据,通过数据库服务器,从数据库中查询需要的数据(或把数据录入数据库)送到Web服务器,Web服务器把返回的结果插入HTML页面,传送到客户端,在浏览器中显示出来。
基于浏览器/服务器结构的数据库应用系统的开发,目前主要使用的开发语言有PHP、Java、Peal、C#等。
客户/服务器结构:
当应用程序(“前台”)需要处理数据库中的数据时,首先向数据库管理系统(“后台”)发送一个数据处理请求,数据库管理系统接收到这一请求后,对其进行分析,然后执行数据操作,并把操作结果返回给应用程序。
一对多的方式
客户端应用程序的开发,目前常用的语言工具主要有VisualC++、.NET框架、Delphi、VisualBasic等。
概念数据模型和逻辑数据模型的区别。
4)几个概念:
实体、属性、联系、候选码、主码、外码、关系、字段、记录。
实体(Entity):
客观存在并可相互区别的事物称为实体。
属性(Attribute):
实体所具有的某一特性称为属性。
联系(Relationship):
实体(型)内部和实体(型)之间存在着联系。
候选码.:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码.
主码:
任何一个候选码.;
外码:
一个表中如果有一个字段存储另外一个表的主键这个字段就是外键,又称外码
关系:
逻辑上对应一张二维表(格)
记录:
字段编辑我们把表中的每一行叫做一个“记录”,
字段:
是指表格中的列,即具有相同属性的数据集合,每个字段都必须有一个唯一的名称,
记录:
是指表格中的行,它由若干个字段值构成。
5)E-R图的绘制方法。
需求分析:
分析客户的业务和数据处理需求。
概念结构设计:
概念结构设计就是将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。
逻辑结构设计:
逻辑结构设计的任务就是把概念结构设计阶段已设计好的基本E-R图转换为关系模型
6)逻辑数据模型的分类及各自的特点(关系模型重点)
常见的逻辑数据模型包括:
层次模型、网状模型和关系模型。
关系模型是目前数据库管理系统中实现最多的一类数据模型,它是用二维表结构来表示实体及实体间联系的模型,并以二维表格的形式组织数据库中的数据。
层次模型表示数据间的从属关系结构,是一种以记录某一事物的类型为根节点的有向树结构。
层次模型像一棵倒置的“树”,根节点在上,层次最高;子节点在下,逐层排列。
网状模型是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。
在关系模型中,不同数据之间的联系用关系来表示,其实质是将数据的逻辑结构归为满足一定条件的二维表形式,每个二维表称为一个关系。
在二维表中,每一行称为一个记录每一列称为一个字段,整个表表示一个关系。
7)数据库设计阶段及每个阶段的任务。
需求分析:
分析客户的业务和数据处理需求。
概念结构设计:
概念结构设计就是将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程,它是整个数据库设计的关键。
逻辑结构设计:
逻辑结构设计的任务就是把概念结构设计阶段已设计好的基本E-R图转换为关系模型。
物理结构设计:
数据库的物理结构设计是为一个给定的逻辑数据模型选定一个最适合应用要求的物理结构的过程。
数据库实施
数据库运行与维护
8)E-R图如何向关系模式转化。
(1:
1)联系的E-R图到关系模式的转换
联系单独对应一个关系模式。
联系不单独对应一个关系模式,联系的属性及一方的主码加入另一方实体集对应的关系模式中。
1:
n)联系的E-R图到关系模式的转换
1)联系单独对应一个关系模式。
2)联系不单独对应一个关系模式,则将联系的属性及1端的主码加入n端实体集对应的关系模式中,主码仍为n端的主码。
9)范式的概念及各级别范式的特点、转换方式。
范式:
满足特定要求的模式
不同级别的范式要求各不相同
范式可以作为衡量一个关系模式好坏的标准
若关系模式R满足范式xNF,记RxNF
规范化:
将低一级范式的关系模式通过模式分解转换为高一级范式的关系模式集合的过程
转换方式如果一个关系模式R的所有属性都是不可分的基本数据项(即对于关系模式R的任一实例,其元组的每一个属性值都只含有一个值),则R1NF。
若关系模式R1NF,且每一非主属性完全函数依赖于R的码,则R2NF。
关系模式R(U,F)中,当且仅当R属于2NF,且R的每一个非主属性都不传递依赖于主码时,R3NF。
2.MySQL概述
1)与MySQL相关的两种网站架构方式。
:
垂直切分和水平切分
2)MySQL的默认安装目录、MySQL数据文件默认存放目录。
C:
\ProgramFiles\MySQL\MySQLServer5.1
C:
\ProgramData\MySQL\MySQLServer5.1\data
3)MySQL端口号。
3306
4)使MySQL支持中文字符的方法。
Gb2312
5)my.ini文件的作用。
my.ini里面有配置数据库的字符集的设置内容可以在这个文件里面更改数据库的字符集
6)MySQL服务启动与关闭的几种方式。
netstartMySQLnetstopMySQL
7)MySQL命令行客户端的全称,登录MySQL命令行客户端的几种方法。
MySQLCommandLineClient
8)SQL的中文全称、SQL的四大功能。
结构化查询语言(StructuredQueryLanguage)简称SQL
用于存取数据以及查询、更新和管理关系数据库系统
9)如何通过SOURCE命令在MySQL中运行sql脚本。
SOURCE地址;
3.数据库、表及表数据操纵
1数据库的表就是你所创建的真是的表
2视图是来源于真实的表为了不完全将表的数据展现可以创建此表的视图
视图中的数据来源与表对视图的更改不会影响原表的数据
4.数据的查询
1)SELECT语句的执行过程。
(1).FROM子句,组装来自不同数据源的数据
(2).WHERE子句,基于指定的条件对记录进行筛选
(3).GROUPBY子句,将数据划分为多个分组
(4).使用聚合函数进行计算
(5).使用HAVING子句筛选分组
(6).计算所有的表达式
(7).使用ORDERBY对结果集进行排序
2)查询表中指定列(字段)的SQL语句。
where
3)给表中字段起别名的SQL语句。
As或“”
4)替换查询结果中数据的SQL语句(CASE...WHEN)。
要替换查询结果中的数据,则要使用查询中的CASE表达式。
5)查询同时计算列值的方法。
使用SELECT对列进行查询时,在结果中可以输出对列值计算后的值,即SELECT子句可使用表达式作为结果。
6)消除查询结果中重复行的方法。
可以使用DISTINCT或DISTINCTROW关键字消除结果集中的重复行。
7)常见的聚合函数(MAX()、MIN()、COUNT()、SUM()、AVG())的作用及使用方法。
Select后面
8)查询过程中给表起别名的方法。
As或“”
9)内连接、外连接、自连接对应的关键字及SQL语句表示方法。
PROM__INNERJOIN__ON
SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROMALEFTJOIN(RIGHTJOIN或FULLJOIN)BONA.列名1=B.列名2;
SELECT[ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
FROM<表名或视图名>[,<表名或视图名>]…
[WHERE<条件表达式>];
10)查询中常用的比较运算符有哪些。
使用LIKE进行模式匹配时,常使用特殊符号_和%,可进行模糊查询。
“%”代表0个或多个字符,“_”代表单个字符。
BETWEEN和IN
使用ISNULL关键字
11)查询中模糊比配采用的关键字及相应的通配符。
使用LIKE进行模式匹配时,常使用特殊符号_和%,可进行模糊查询。
“%”代表0个或多个字符,“_”代表单个字符。
12)用于数值范围比较(BETWEEN...AND...)和集合范围比较(IN)的关键字的用法。
BETWEENAND和IN
13)
空值比较的写法。
使用ISNULL关键字
14)简单的子查询。
IN子查询用于进行一个给定值是否在子查询结果集中的判断。
15)分组对应的SQL语句。
GROUPBYGROUPBY子句主要用于根据字段对行分组。
16)WITHROLLUP语句的作用。
mysql>SELECTyear,SUM(profit)FROMsalesGROUPBYyearWITHROLLUP
另写一列;
17)HAVING子句的用法。
数据库的查询
使用HAVING子句的目的与WHERE子句类似,不同的是WHERE子句是用来在FROM子句之后选择行,而HAVING子句用来在GROUPBY子句后选择行
18)排序相关的SQL语句。
GROUPBY+顺序排名+ASC(升序)、DESC(降序)。
19)LIMIT子句的两种用法。
20)UNION的作用及用法。
使用UNION可以把来自许多SELECT语句的结果组合到一个结果集合中。
5.索引和视图
1)索引的概念、优点和缺点。
优点:
所谓索引,就是根据表中的一列或若干列按照一定顺序建立的列值与记录行之间的对应关系表,因而索引实质上是一张描述索引列的列值与原表中记录行之间一一对应关系的有序表。
在列上创建了索引之后,查找数据时可以直接根据该列上的索引找到对应记录行的位置,从而快速地查找到数据。
缺点:
占用磁盘空间更新表中索引列上的数据时,对索引也需要更新
2)创建、查看、删除索引对应的SQL语句。
使用ALTERTABLE语句SHOWINDEX创建索引DROPINDEX
3)视图的概念。
视图是从一个或多个表或者视图中导出的表,它也包含一系列带有名称的数据列和若干条数据行。
4)视图与表的区别。
视图与表(有时为与视图区别,也称表为基本表——BaseTable)不同,视图是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。
5)创建、查看、修改、删除视图定义对应的SQL语句。
可以使用CREATEVIEW语句来创建视图。
ALTERVIEW
DROPVIEW
6)更新、查询视图数据的SQL语句。
6.MySQL语言结构
1)常见的数学函数的含义及用法:
GREATEST()、LEAST()、FLOOR()、GEILING()、ROUND()、TRUNCATE()、ABS()、SIGN()、SQRT()、POW()、SIN()、COS()。
2)常见的字符串函数的含义及用法:
ASCII(char)、CHAR(x1,x2,...)、LEFT(str,x)、RIGHT(str,x)、TRIM(str)、LTRIM(str)、RTRIM(str)、REPLACE(str1,str2,str3)、CONCAT(s1,s2,…sn)、SUBSTRING(expression,Start,Length)。
3)常见的日期时间函数:
NOW()、CURTIME()、CURDATE()。
7.数据库安全性策略
1)创建、查看、修改、删除用户帐户的SQL语句。
(1)创建数据库用户user_1和user_2,密码都为1234(假设服务器名为localhost)。
(2)将用户user_2的名称修改为user_3。
(3)删除用户user_3。
2)修改用户口令的SQL语句。
(4)将用户user_2的名称修改为user_3。
3)用户权限的授予、转移、撤销的SQL语句。
授予用户user_1对YGGL数据库Emlpoees表的所有操作权限及查询操作权限。
(2)
授予用户user_1对Emlpoees表进行插入,修改,删除操作权限。
(此处截图)
(3)授予用户user_1对数据库YGGL的所有权限。
(4)授予user_1在Salary表上的SELECT权限,并允许其将该权限授予其他用户。
(5)回收user_1的Emlpoees表上的SELECT权限。
4)数据库备份、恢复的概念。
5)
6)数据库备份、恢复的方法。
(1)备份YGGL数据库中的Employees表到D盘FILE文件夹下,并在执行完成后查看D盘FILE文件夹下是否有Employees.txt文件。
先删去Employees表中的几行数据,再使用SQL语句恢复Employees表,执行完成后使用SELECT查看Employees表的变化。