ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:28.95KB ,
资源ID:25768280      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25768280.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库复习.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库复习.docx

1、数据库复习数据库复习重点概念部分请大家熟练记忆,代码可以结合书本例题和PPT进行理解性记忆! 数据冗余:所带来的问题不仅仅是存储空间的浪费,更为严重的是造成数据的不一致性。不可避免数据的独立性:是指应用程序不会因数据的物理表示方法和访问技术的改变而改变,即应用程序并不依赖于任何特定的物理表示方式和访问技术。(是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。是数据与程序之间的(DB,VB)当数据改变,程序不需要随之改变。)存在逻辑独立性与物理独立性,逻辑独立性:是指表达现实世界的信息内容发生变化时,比如增加一些列、删除无用列等,也不影响应用程序的特性;物理独立性:是指当数据的存储结构

2、发生变化时,也不影响应用程序的特性。 数据库:是长期存储在计算机中的有组织的,可共享的,互相关联的大量数据的集合。数据库中的数据时用综合的方法组织数据,具有较小的数据冗余,可供多个用户共享,具有较高的数据独立性,具有安全控制机制,能够保证数据的安全、可靠,允许并发地使用数据库,能有效、及时地处理数据,并能保证数据的一致性和完整性。 数据库管理系统(DBMS):是一个专门用于实现对数据进行管理和维护的系统软件。 数据库管理员(DBA):系统分析员和数据库设计人员;应用程序员和最终用户。 数据库管理数据方式的特点:1. 相互关联的数据集合2. 较少的数据冗余3. 程序与数据相互独立4. 保证数据的

3、安全和可靠5. 最大限度地保证数据的正确性6. 数据可以共享并能保证数据的一致性数据库系统的概念及组成要素:是指在计算机中引入数据库后的系统,一般由数据库、数据库管理系统(及相关的实用工具)、应用程序、数据库管理员组成。包含的内容:硬件,软件,人员。数据模型:数据库中表示数据与数据之间联系的方法;组成:数据结构,数据操作,数据约束条件。类型:概念层数据模型,组织层数据模型(逻辑数据模型)实现模型:网状,层次,关系E-R(实体-联系)图:反映现实世界中的事物及相互联系:1.实体:描述客观事物的概念,用矩形表示2.属性:指实体具有的某种特性,用椭圆表示3.联系:实体之间的联系,用菱形表示(将E-R

4、图准换为表格时,若关系为1对1,可不用另外建立表格;若关系为1对多时,将“1”的主键加入“多”的表格中;若关系为多对多时,需另外建立表格) 数据库系统的结构体系:三模式:内模式;外模式;概念模式。优点:保证数据的独立性(物理和逻辑);简化了用户接口,方便了用户使用;有利于数据共享及数据安全保密;会给系统增加一些额外开销。两级映像:外模式模式映像(保证数据的逻辑独立性);模式内模式映像(保证数据的物理独立性) 关系模型(关系数据模型):用关系表示实体以及实体之间联系的模型。关系: 就是二维表;关系模式:二维表的结构(二维表的表框架或表头结构)字段(属性):关系中的每一列是一个属性值的集合,列可以

5、命名,称为属性名。关键字(主码):是关系中用于唯一确定一个元祖的一个属性或最小的主属性。主键:从候选码中选择一个作为关系的主码;每个关系都必定有且只有一个主码;对于一个关系,主码一经选定,通常是不能随意改变的。候选码:如果一个关系中存在多个可以作为主码的属性,则称这些属性为候选属性,相应的码称为候选码。外键:与主键对应(一个表的外键对应一个表的主键)之间的关系表达。主属性&非主属性:关系模型中使用主码作为记录的唯一标识,主码所包含的属性称为关系的主属性,其他的非主码属性为非主属性。第一范式:不包含重复组的关系;第二范式:如果R(U,F)属于第一范式,并且R中的每个非属性都完全函数依赖于主码,则

6、R(U,F)属于第二范式;第三范式:如果R(U,F)属于第二范式,并且所有的非主属性都不传递依赖于主码,则R(U,F)属于第三范式。关系的基本特点:关系中的每一列都是不可再分的基本属性;一个关系中的各属性不能重名;关系中的行、列次序并不重要,即交换列的前后顺序,不影响其表达的语义。关系模型完整性:数据完整性是指数据库中存储的数据是有意义的或正确的,关系模型中的数据完整性规则是对关系的某种约束条件。类型:实体完整性;参照完整性;用户定义的完整性。实体完整性:指的是关系数据库中所有的表都必须有主码,而且表中不允许存在如下的记录:(要求主码的值不能为空值或部分为空值的约束条件)1.无主码值的记录;2

7、.主码值相同的记录参照完整性(也称引用完整性):一般是指多个实体或表之间的关联关系。用户定义的完整性(也称为域完整性或语义完整性):实际上就是指明关系中的属性的取值范围,也就是属性的域,这样可以限制关系的属性的取值类型及取值范围,防止属性的值与应用语义矛盾。关系模型的数据操作主要包括四种:查询,插入,删除和修改。关系数据语言的操作类型:选择,投影,连接。关系数据库设计过程:概念结构设计:特点:是整个数据库系统设计的关键,独立于数据库逻辑结构,独立于DBMS;设计目标:产生反映全组织信息需要的整体数据库概念结构,是整个组织各个用户共同关心的信息结构;描述工具:E-R图(图形表示);概念结构设计的

8、策略主要有:自底向上,自顶向下,由内而外,混合策略。步骤:1. 设计局部ER模型:(抽象方法:分类,概括,聚簇)设计步骤:确定实体和属性;确定联系类型;画出局部ER图。2. 设计全局ER模型(视图集成):ER模型之间的冲突有三类:属性冲突,命名冲突,结构冲突。步骤:合并:消除冲突初步E-R图 修改和重构:消除冗余基本E-R图3. 优化全局ER模型:满足条件:实体个数尽可能少,实体所包含的属性尽可能少,实体间联系无冗余.逻辑设计:将概念结构转换成特定DBMS所支持的数据模型的过程逻辑结构设计的步骤:将概念结构转换为一般的关系、网状、层次模型;将转换来的常用模型向特定DBMS支持下的数据模型转换;

9、对数据模型进行优化。将ER图转化为关系模型(表格)(一个对象就生成一个表格,属性为表格的列):实体之间的联系有不同的情况:1. 1对1时:可以转换为一个独立的关系模型,也可以不建立独立关系模型;2. 1对n时:如果与n端对应的关系模式合并,则需要在该关系模式中加入1端实体的码以及联系本身的属性;3. m对n时:必须转换为一个独立的关系模式,且关系模式的主码包含各实体的码。4. 三个或三个以上实体间的一个多元联系可以转换为一个独立的关系模型,且关系模式的主码包含各实体的码;5. 具有相同主码的关系模式可以合并。关系规范化:应用规范化理论对产生的关系逻辑模式进行初步优化考虑关系模式的函数依赖关系,

10、确定范式等级对关系模式进行合并或分解模式优化:为了提高数据的存取和存储效率,还必须关系模式进行优化常用的优化方法: 对关系模式进行垂直分割和水平分割函数依赖:是属性间的关联,是属性间的逻辑依赖关系,是一种约束数据依赖是针对数据模式,而不是特定的实例类似于变量之间的单值函数关系Y=F(X),其中自变量X的值,决定一个唯一的函数值Y在一个关系模式里的属性,由于它在不同元组里属性值可能不同,由此可以把关系中的属性看作变量一个属性与另一个属性在取值上可能存在制约关系。定义:设R(U)是一个关系模式,U是R的属性集合,X和Y是U的子集.对于R(U)的任何一个可能的关系r,如果r中不存在两个元组,它们在X

11、上的属性值相同,而在Y上的属性值不同,则称X函数决定Y,或Y函数依赖于X,记作:X Y.X通常称为“决定因素”当Y不函数依赖与X,则记作:X Y当X Y,且Y X,则记作:X Y(互相函数依赖)函数类型:安全、部分、传递规范化理论是围绕着范式建立的;满足不同程度要求的约束集则称为不同的范式;如果一个关系满足某个指定的约束集,则称它属于某个特定的范式;较高层次的范式比较低层次的范式具有“更合乎要求的性质”;规范化:一个低一级范式的关系模式,通过投影运算可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化。范式分类:1NF规范化: 把非规范化关系规范提高到1NF关系模式的集合.2NF规范

12、化是把1NF关系模式规范提高到变成2NF关系模式的集合;从1NF中消除非主属性对候选码的部分函数依赖,则获得2NF关系理解:若R3NF,则R中没有非主属性传递依赖于键码。从2NF关系中,消除非主属性对码的传递依赖函数而获得3NF关系R3NF,则每个非主属性既不部分依赖,也不传递依赖于R的任何候选码.3NF的规范化: R(X,Y,Z,W),若X Y,Y X,且Y Z,适合于R,那么R首先分解为投影RX,Y,W和RY,Z,若RX,Y,W还不属于3NF,则继续上述过程。基本结构:SELECT 结果字段表达式列表;FROM 数据来源表或视图列表; WHERE 记录条件逻辑表达式列表; GROUP BY

13、 分组字段列表 HAVING 组条件逻辑表达式 ; ORDER BY 排序字段列表 ASC | DESC , 查询类型:基本查询:单表查询(1.选择表中若干列:查询指定的列;查询全体列;查询经过计算的列;2.选择表中的若干元组:消除取值相同的行;查询满足条件的元组3.对查询结果进行排序4.使用聚合函数汇总数据5.对查询结果进行分组统计),多表连接查询(内连接:是一种最常用的连接类型;语法格式: from 表1inner join 表2 on ;自连接:是一种特殊的内连接,是指相互连接的表在物理上为同一张表,但在逻辑上将其看成是两张表;外连接:只限制一张表中的数据必须满足连接条件,而另一张中的数

14、据可以不满足连接条件。ANSI方式的外连接的语法格式为:from 表1 left | right outer join 表2 on),子查询。连接查询:等值与非等值连接查询连接类型:Inner joinCross joinLeft outer joinRight outer joinFull outer joinEx: Select Student.sno, sname, cno,grade From Student,SC Where Student.sno = SC.sno自身连接查询例:查询每一门课的间接先修课(即先修课的先修课)Select FIRST.Cno, SECOND.CpnoF

15、rom Course FIRST, Course SECONDWhere FIRST.Cpno = SECOND.Cno外连接Select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade From Student,SC Where Student.Sno = SC.Sno(*)复合条件连接例1:列出所有学生的学号、姓名、课号、课名、成绩。Select Student.sno,sname,SC.cno,cname,gradeFrom Student,SC,CourseWhere Student.sno = SC.sno and SC.cno Course

16、.cno嵌套查询:在SQL中,一个SELECT-FROM-WHERE语句称为一个查询块。将一个查询块嵌套在另一个查询块的WHERE子句或HAVING短语的条件中的查询。子查询是嵌套在另一查询中的Select-From-Where 表达式求解方法是由里向外处理:即每个子查询在上一级查询处理之间求解,子查询的结果用于建立父查询的查找条件。子查询中不能使用 Order By 子句,Order By子句只能对最终查询结果进行排序。 可用多个简单查询来构成复杂查询,以增强SQL查询能力(结构化)。子查询:带in 或not in,将一个表达式的值与子查询返回的结果集进行比较:Where 表达式 not i

17、n(子查询)使用exists 谓词:Where not exists ( 子查询 )带exists 谓词的子查询不返回查询的结果,只产生真值和假值;Exists的含义是:当子查询中有满足条件的数据时,exists返回真值,否则返回假值;Not exists 的含义是:当子查询中有满足条件的数据时,not exists返回假值;当子查询中不存在满足条件的数据时,not exists返回真值。带有比较运算符的子查询(单值的比较)主查询与单值子查询之间用比较运算符进行连接运算符:、=、=、 子查询一定要跟在比较符之后举例:找出与239501同龄的学生 Select * From Student Wh

18、ere sage = ( Select sage From Student Where sno = 239501 )带有ANY或All谓词的子查询(多值的比较)主查询与多值子查询之间的比较需用Any、All来连接 Any表示某个,只要有一个即返回真 All表示所有(集合) 可以通过集函数来实现举例:找出年龄不是最小的学生Select * From student Where sage any ( Select sage From Student )集合查询:概述:Select语句的结果是一个元组的集合,多个Select 语句的结果可以进行集合操作(Union、Intersect、Minus)参

19、加集合操作的关系(结果集)必须是相容的属性个数必须一致对应的类型必须一致属性名无关,最后结果集采用第一个结果的属性名缺省为自动去除重复元组只能在整个语句的最后使用一次Order By数据库完整性:(正确性,有效性,相容性,一致性)目标:prevent garbage in and garbage out完整性类型:域完整性:是完整性约束中最主要和最基本的形式. 通过测试插入数据是否符合预先设定的取值范围. 实体完整性(所有非主属性不能取空值):每条记录的非主属性不能够取空值参照完整性(删除数据后;插入数据;修改数据):每一个非空外键的值在主键中必须存在.实现完整性的方法:Procedure d

20、ata integrity(过程型数据完整性): Default (缺省)& Rule(规则) & Trigger(触发器)Declared data integrity (声明型数据完整性):Default Constraint (缺省约束)Check Constraint (检查约束)Unique Constraint (唯一值约束)Primary Key Constraint (主键约束)Reference Constraint (参照约束)数据库完整性保护机制:Define Constraint function 定义约束条件Examine Constraint function 检查

21、约束条件How to do when constraints are disobeyed 违约响应数据库完整性考虑的问题:if the foreign key can be null.(外键是否能够取空值)delete records in the table referred(删除引用表中数据记录:Cascades, Restricted, Nullifies)Insert records in referential table(在参照表中插入数据记录:Restricted, Recursive )update primary key in the table referred(修改引用表

22、中主键值: Cascades, Restricted, Nullifies )约束:Create Constraint CREATE TABLE table_name ( field_name datatype CONSTRAINT constraint_name PRIMARY KEY CLUSTERED | NONCLUSTERED | UNIQUE CLUSTERED | NONCLUSTERED | FOREIGN KEY REFERENCES ref_table(ref_column,n) | DEFAULT expression | CHECK (logical_expressin

23、) n ) SP_helpconstraint table_nameDefault 缺省约束 create table teacher(Tno char(4), Tname char(6), Tsex char(2) constraint df_sex default 男) 例: Alter table teacher add constraint DF_sex 男 for ssexPrimary Key 主键约束使用SQL语句 (create, add, drop)例1:create table department (Dno char(2) constraint pk_no primary

24、 key clustered, Dname char(20) )例2:create table sc(sno char(10) not null, cno char(4) not null, constraint key_sc primary key(sno,cno)例3: Alter table department drop constraint pk_no例4: Alter table department add constraint primary key(Dno) 例: Alter table teacher drop constraint DF_sexCheck 检查约束使用对象

25、资源管理器 (设计表 快捷菜单)使用 SQL语句 (create, add, drop)CREATE TABLE test(sno char(10),cno char(4),grade numeric(5,1) DEFAULT 0 NULL CONSTRAINT ck_grade CHECK (grade=0 AND grade15 and value30Bind & unbind Rule (Affect on insert & update)使用企业管理器 (属性对话框)使用存储过程 SP_BINDRULE rule_name, object_name SP_UNBINDRULE obje

26、ct_name 例: sp_bindrule rule_age, student.sage 例: sp_unbindrule student.sageLook Over Rule Information 查看规则信息使用对象资源管理器 使用存储过程 SP_HELP rule_name SP_HELPTEXT rule_nameDelete Rule 删除规则适用对象资源管理器 (属性对话框)使用SQL语句 (DROP RULE rule_name) SP_UNBINDRULE student.sage DROP RULE rule_sage触发器:定义:A trigger is a speci

27、al kind of stored procedure that goes into effect when you modify data in a specified table using one or more data modification operations: UPDATE, INSERT, or DELETE. Triggers are also useful for enforcing referential integrity, which preserves the defined relationships between tables when you add, update, or delete the rows in those tables. 优点:1.基于数据表数据修改自动执行2.可以让数据库相关联的表格数据相应改变3.可

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1