精华内容
下载资源
问答
  • 数据库期末考试试题和答案
  • 数据库系统概论期末复习【超实用】

    万次阅读 多人点赞 2019-12-28 17:46:46
    所用教材:《数据库系统概论(第5版)》王珊 萨师煊 编著 理论与实践相结合的好书 本文大部分写自同学,本作者稍加详解。感谢该同学,这些题目做透能拿高分! 一、简答题(来自第一章 绪论 课后题P34)10’ 1. 试述...

    若对你有帮助的话,记得点赞、关注我呦!

    所用教材:《数据库系统概论(第5版)》王珊 萨师煊 编著 理论与实践相结合的好书

    本文大部分写自同学,本作者稍加详解。感谢该同学,这些题目做透能拿高分!

    一、简答题(来自第一章 绪论 课后题P34)10’

    1. 试述数据、数据库、数据库管理系统、数据库系统的概念。

           数据:描述事物的符号记录。

           数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。

           数据库管理系统:位于用户与操作系统之间的一层数据管理软件。

           数据库系统:由数据库、数据库管理系统(及其应用开发工具)、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。

    7. 什么是概念模型?试述概念模型的作用。

           概念模型是现实世界到机器世界的一个中间层次。它用于信息世界的建模,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言。

    9. 试述数据模型的概念、数据模型的作用和数据模型的三个要素。

          数据模型:是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式架构。

          作用:精准地描述了系统的静态特性、动态特性和完整性约束条件。

          三要素:数据结构、数据操作、数据的完整性约束条件。

    13. 试述关系模型的概念,定义并解释以下术语:关系、属性、域、元组、码、分量、关系模式。

          关系:一个关系对应一张表。

          属性:表中的一列。

          域:属性的取值范围。

          元组:表中的一行。

          码:表中能够确定一个元组的属性组。

          分量:元组中的一个属性值。

          关系模式:对关系的描述,一般表示为“关系名(属性1,属性2,……,属性n)”。

                            形式化地表示为:R关系名(U组成该关系地属性名集合,D属性所来自的域,DOM属性向域的映像集合,F属性间数据的依赖关系集合【第六章讨论】)

    15. 试述数据库系统的三级模式结构,并说明这种结构的优点是什么。

            优点:三级模式是数据的三个抽象级别,它把数据的具体组织留给数据库管理系统管理,使用户能逻辑地、抽象地处理数据,而不必关心数据在计算机中具体表示方式和存储方式。

           DBMS在三级模式间提供的二级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

    17. 什么叫数据与程序的物理独立性?什么叫数据与程序的逻辑独立性?为什么叫数据库系统具有数据与程序的独立性?

            数据与程序的物理独立性:当数据库的存储结构改变时,由数据管理员对模式/内模式映像作相应改变,可以使模式保持不变、从而应用程序也不必改变。

            数据与程序的逻辑独立性:当数据的逻辑结构(即模式)改变时,由数据库管理员对各个外模式/模式的映像作相应改变,可以使外模式保持不变,从而应用程序不必修改。

            DBMS在三级模式之间提供的两级映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

    没考:在关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的?P161

           对于违反实体完整性和用户定义完整性的操作,一般采用拒绝执行的方式进行处理;对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。

    二、计算题37’ 非常类似考试真题!以下答案不唯一,纯由同学自写,有些来自网络。

    1.设宾馆酒店业数据库有四张表:

    Hotel(hotelNo, hotelName, city)
    Room(roomNo, hotelNo, type(房间类型), price)
    Booking(roomNo, guestNo, dateFrom(起始日期), dateTo(终止日期))
    Guest(guestNo, guestName, guestAddress)
    备注:price为int类型,其余字段均为字符串类型(VARCHAR(n)),下划线标识的字段为主码。

    (1)试用关系代数完成如下查询:(7分)

    ①列出“长春”的所有宾馆的宾馆号和宾馆名称;(2分)

    ΠhotelNo,hotelName(σcity=‘长春’(Hotel))

    ②列出“长春宾馆”的所有房间类型和价格;(2分)

    Πtype,price(σhotelName=‘长春宾馆’(Hotel⋈Room))

    ③检索2017年12月2号(’20171202’)入住“长春宾馆”的客人号码和客人姓名。(3分)

    ΠguestNo,guestName(Guest)⋈ ΠguestNo(ΠroomNo,guestNo(σdataFrom=‘20171202’(Booking))⋈ ΠroomNo(ΠhotelNo(σhotelName=‘长春宾馆’(Hotel))⋈ Room))

    (2)写出SQL语句:(30分)

    ①定义关系模式Hotel和Room,要求在模式中完成以下完整性约束条件的定义:(7分)
        定义模式的主码;定义参照完整性;房间价格不能低于100元;定义type、price和hotelName不能为空。

    create table Hotel
    (hotelNo char(10) primary key,
    hotelName char(10) not null,
    city char(10));

    create table Room
    (roomNo char(10) primary key,
    hotelNo char(10),
    type char(10) not null,
    price char(10) not null check(price>=100),
    foreign key(hotelNo) references Hotel(hotelNo));

    ②统计各个宾馆的房间数。(2分)

    select count(roomNo) from Room group by Hotel.hotelNo;

    ③删除2017年12月2号(’20171202’)退房的订房信息。(2分)

    delete from Booking where dateTo=‘20171202’);

    ④增加一条宾馆信息(hotelNo:H1035, hotelName:前进宾馆, city:长春)。(2分)

    insert into Hotel values(‘H1035’,‘前进宾馆’,‘长春’);

    ⑤将“长春宾馆”(宾馆名)的‘369’(房间号)房间的房间类型修改为“单人间”。(3分)

    update Room set type = ‘单人间’
    where roomNo = ‘369’ and hotelNo in
    (select hotelNo from Hotel where hotelName = ‘长春宾馆’);

    ⑥创建一个断言,限制每个宾馆单人间的房间数不能多于8个。(4分)

    create assertion roomnum check(8>=all(select count(*) from Room where
    type=‘单人间’ group by hotelNo));

    ⑦创建一个视图,包含宾馆号、宾馆名称、所在城市、房间号、房间类型和房间价格,并将该视图的查看权限授予用户U1。(4分)

    create view h (hotelNo,hotelName,city,roomNo,type,price)
    as
    (select Hotel.hotelNo,hotelName,city,roomNo,type,price from Hotel,Room
    where Hotel.hotelNo = Room.hotelNo);

    grant select on h to U1;

    ⑧建立触发器,当对表Room的price属性进行修改时,若价格增加了10%,则将此次操作记录到另一个表Room_U (roomNo, hotelNo, type(房间类型), Oldprice, Newprice)中,其中Oldprice是修改前的价格,Newprice是修改后的价格。(6分)

    create trigger Room_T
    after update of price on Room
    referencing
    old row as oldTuple,
    new row as newTuple
    for each row
    when(newTuple.price>=1.1*oldTuple.price)
    insert into Room_U (roomNo, hotelNo, type, oldTuple.price, newTuple.price)

    三、设计题23’

    1.设有关系模式R(A,B,C,D,E),给定数据依赖如下:AB→C, A→D, D→E。(8分)
    (1)列出R的码;主码或候选码都简称为码

    A、B

    (2)R为第几范式? 说明理由;

    第一范式   ∵各分量均不可再分,码A→非主属性D,而AB→D也能成立,存在非主属性对码的部分函数依赖   ∴不能是2NF,只能是1NF

    (3)如果R不属于3NF,规范化R为3NF,并阐述规范化过程。

    step①消除部分函数依赖:解决办法是用投影把关系模式R分解为两个关系模式:
    R1(A,B,C)和 R2(A,D,E)
    step②消除传递函数依赖: 解决办法是将R2分解为:AD(A,D)和 DE(D,E)
    分解后的关系模式AD与DE中不再存在传递依赖

    补充理解:重点掌握前4个范式 :1NF、2NF、3NF、BCNF

    关系数据库中的关系需满足一定要求,满足不同程度要求的为不同的范式。

           满足最低要求的叫第一范式,简称1NF;在第一范式的基础上满足进一步要求的称为第二范式,简称2NF,其余范式以此类推。对于各种范式之间有如下关系:关系

    1NF定义: 属于第一范式关系的所有属性都不可再分,即数据项不可分。(数据表具有原子性。)

    反例:正例:

    规范化: 一个低一级的关系模式通过模式分解可以转化为若干个高一级范式的关系模式的集合,这个过程叫做规范化。

    2NFの定义: 若某关系R属于第一范式,且每一个非主属性完全函数依赖于任何一个候选码,则关系R属于第二范式。

    码 :如果在一张表中,一个属性或属性组,被其他所有的属性(非主属性)所完全函数依赖,则称这个属性(属性组)为该表的码。(上面的表,学号和课程名称所构成的属性组就是码)

    主属性:码中所有属性

    非主属性:除码之外的所有属性

    例如: 该表中码为 (学号、课程名称)但姓名、系名、系主任都部分依赖于码(主属性),不符合第二范式,故拆分如下

    第一张表的码为(学号、课程名称),第二张表的码为(学号),它们都是完全依赖的,因此符合第二范式。

    ∵存在系主任依赖于系名(系名→系主任)∴不符合第三范式(需要在第二范式基础上消除传递依赖,如下图)

    候选码: 若关系中的某一属性组的值能唯一地标识一个元组,而其子集不能,则称该属性组为candidate key。

    主码:若一个关系中有多个候选码,则选定其中一个为primary key。

    外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码foreign key。

    主属性: 所有候选码的属性称为prime attribute。

    非主属性/非码属性:不包含在任何候选码中的属性称为non-prime attribute或non-key attribute。

    全码:在最简单的情况下,只有一个属性是候选码。在最极端的情况下,关系模式的所有属性都是候选码,称all-key。

    函数依赖:设R(U)是属性集U上的关系模式,X,Y是U的子集,若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称X函数确定Y,或Y函数依赖于X,记作X→Y。X称这个函数依赖的决定属性组/决定因素determinant。

    A→B,如果通过A属性(或属性组)的值,可以确定唯一的B属性的值,则称B函数依赖于A

    例如:学号→姓名;(学号、课程名称)→  分数

    平凡函数依赖:当关系中属性集合Y是属性集合X的子集时(Y⊆X),存在函数依赖X→Y,即一组属性函数决定它的所有子集,这种函数依赖称为平凡函数依赖。

    非平凡函数依赖:当关系中属性集合Y不是属性集合X的子集时(Y⊈X),存在函数依赖X→Y,则称这种函数依赖为非平凡函数依赖。

    完全函数依赖:设X,Y是关系R的两个属性集合,X'是X的真子集,存在X→Y,但对每一个X’都有X'!→Y,则称Y完全函数依赖于X。记作

    A→B,如果A是一个属性组,B属性值的确定需要依赖A属性组的中所有的属性值,则称B完全函数依赖于A

    例如:(学号、课程名称)→ 分数

    部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X'是X的真子集,存在X'→Y,则称Y部分函数依赖于X。记作 

    A→B,如果A是一个属性组,B属性值的确定只需依赖A属性组的中某一些的属性值(第二范式就是消除这个),则称B部分函数依赖于A

    例如:(学号 、课程名称)→ 姓名

    传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y( Y⊈X 且Y !→X )Y→Z,则称Z传递函数依赖于X。记作

    A→B , B→C 如果通过A属性(或属性组)的值,可以确定唯一的B属性的值,再通过B属性(属性组)的值,可以唯一确定C属性的值,那么称C传递依赖于A

    例如: 学号→系名  ,系名→系主任 

    直接函数依赖:X→YY→X,记作X←→Y,又Y→Z,则Z直接函数依赖于X。

    3NFの定义: 非主属性既不传递依赖于码,也不部分依赖于码。

    BCNFの定义: 关系模式R<U,F>中,若每一个决定因素都包含码,则R<U,F>∈BCFN。

    4NFの定义: 限制关系模式的属性之间不允许有非平凡且非函数依赖的多值依赖。

    5NF必须满足第四范式;表必须可以分解为较小的表,除非那些表在逻辑上拥有与原始表相同的主键。在第四范式的基础上做的进一步规范化。第四范式处理的是相互独立的多值情况,而第五范式则处理相互依赖的多值情况。

     

    参考题:P203 T6

    2.把图1中的E-R图转换为关系模型。(7分)
    图1  教务系统E-R图(部分)

    教材(教材号,教材名,出版社,价格,课程号)
    学生(学号
    课程(课程号
    教师(职工号
    选课(学号课程号
    授课(课程号职工号注意“下划线”为主码

    3.设有表SC(sno, cno, grade),编写存储过程将学生选课成绩grade从百分制改为等级制(即A、B、C、D、E)。(8分)

    create or replace procedure change_c()
    as declare
    chgrade char(1);
    currecord record;
    begin
    alter table SC add column(newgrade char(1));
    for currecord in select*from SC
    loop
    if currecord.grade<60 then chgrade=‘E’;
    else if currecord.grade<70 then chgrade=‘D’;
    else if currecord.grade<80 then chgrade=‘C’;
    else if currecord.grade<90 then chgrade=‘B’;
    else chgrade=‘A’;
    end if;
    update SC set newgrade=chgrade
    where sno=currecord.sno and
    cno=currecord.cno;
    end loop;
    alter table SC drop column grade;
    alter table SC rename newgrade to grade;
    end;

    没考以下内容!笔者多写了,有需要的可以看看。

    P3数据库的4个基本概念:数据、数据库、数据库管理系统、数据库系统

    P17数据模型的3个组成要素:数据结构、数据操作、数据的完整性约束条件

    P38关系模型的3个组成部分:关系数据结构、关系操作集合、关系完整性约束(实体完整性、参照完整性、用户定义完整性)

    域domain:一组具有相同数据类型的值的集合

    笛卡儿积cartesian protuct:给定一组域D1,D2,...Dn,允许其中某些是有相同的。

                                                 D1xD2x…×Dn={(d1,d2,…,dn) l di∈Di , i=1,2,…n}

    关系:在域D1,D2,…,Dn上笛卡儿积D1xD2xxDn的子集R(D1,D2,…,Dn)。

    元组:关系中的每个元素是关系中的元组。

    属性:关系也是一个二维表,表的每行对应个元组,表的每列对应一个。由于可以相同为了加以区分,必须对每列起一个名字,称为属性(attribute)。

    关系模式:关系的描述。是静态的、稳定的。

    关系:关系模式在某一时刻的状态或内容。是动态的、随时间不断变化的。

    关系数据库:有型和值之分。关系数据库的型也称为关系数据库模式(对关系数据库的描述)包括若干域的定义,以及在这些域上定义的若干关系模式。关系数据库的值也称关系数据库,是这些关系模式在某一时刻对应的关系的集合。

    P140紫皮书TCSEC/TDI将系统划分为4组(division)7个等级:

           C2级的数据库管理系统支持自主存取控制方法DAC:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 

           B1级的数据库管理系统支持强制存取控制方法MAC:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。

    P133数据库的安全性:指保护数据库以防止不合法使用所造成的数据泄露、更改或破环。

    P137数据库安全性控制的常用方法:

    用户身份鉴别

    多层存取控制:系统提供用户权限定义和合法权限检查功能,用户只有获得某种权限才能访问数据库中的某些数据。

    视图机制:为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动对数据提供一定程度的安全保护。

    审计:建立审计日志,把用户对数据库所有操作自动记录下来放入审计日志中,审计员可利用审计信息重现导致数据库现有状况的一系列事件,找出非法存取数据的人、事件和内容等。

    数据加密

    P155T9.解释强制存取控制机制中主体、客体、敏感度标记的含义。

    主体:是系统中的活动实体,既包括数据库管理系统DBMS所管理的实际用户,也包括代表用户的各进程。

    客体:是系统中的被动实体,是受主体操纵的,包括文件、基本表、索引、视图等。

    敏感度标记label:对于主、客体,DBMS为它们每个实例(值)指派一个敏感度标记。它被分成若干级别,eg.绝密Top Secret,TS、机密Secret,S、可信Confidential,C、公开Public,P等。密级的次序是TS>=S>=C>=P。主体的敏感度标记称为许可证级别clearance level,客体的称为密级classification level。

    P155T11.什么是数据库的审计功能,为什么要提供审计功能?

    审计功能:是DBMS达到C2以上安全级别必不可少的一项指标。DBMS的审计模块在用户对数据库执行操作的同时把所有操作自动记录到系统的审计日志audit log中。

           ∵任何系统的安全保护措施都不是完美无缺的,审计员DBA可以利用审计日志监控数据库中的各种行为,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。

    P173T1.数据库的完整性:指数据库的正确性&相容性

    P173T4.DBMS的完整性控制机制应具有哪些功能?

           应具有三个方面的功能:①定义功能,即提供定义完整性约束条件的机制;②检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;③违约反应:如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保护数据的完整性。

    展开全文
  • 自己复习时做的期末复习纲要,还算详细毕竟一点一点磨出来的,欢迎下载
  • 聊城大学数据库系统概论期末考试试题复习,计算机往年期末考试试题。
  • 数据库系统概论复习整理,数据库的4个基本概念、基本特点
  • 江南大学《数据库系统概论》历年期末考试试卷(含答案)
  • 数据库系统概论期末复习思维导图,含xmind文件和pdf文件,方便查看和修改。
  • 数据库系统概论期末复习资料
  • 数据库系统概论期末考试试题 里面是我们老师给我们的上一年的期末考试题,挺全面 挺好的 都下载来看看吧哦 呵呵~··
  • 数据库系统概论第五版王珊版期末考试复习题级本分课后答案。(特别是桂电的同学把这上面的记住了,80分妥妥的)
  • 华东交通大学数据库系统概论期末考试题 李正凡老师的
  • 数据库系统概论的所有考试内容及答案,很全,想挂科都难,全面掌握数据库
  • 1.数据库的三级模式与二级映射: 三级模式:模式、内模式、外模式 二级映射:外模式--模式 映射(保证了数据的逻辑独立性) 模式--内模式 映射(保证了数据的物理独立性)。 2.数据库的特点:①数据结构化、②...

    1.数据库的三级模式与二级映射:

    三级模式:模式、内模式、外模式

    二级映射:外模式--模式 映射(保证了数据的逻辑独立性)

    模式--内模式 映射(保证了数据的物理独立性)。

    2.数据库的特点:①数据结构化、②数据共享性高、冗余度低且容易扩充 ③数据的独立性

    ④数据由DBMS统一管理和控制

    3.视图:视图是一个虚表,视图的构建基于表或者视图

    4.数据库的三要素:①数据结构、②完整性约束、③数据操作

    5.关系代数:选择、投影、连接分别与SQL语言中的where、select、join对应   

    6.数据库设计的基本步骤:①需求分析、②概念结构设计、③逻辑结构设计、④物理结构设计、⑤数据库实施、⑥数据库的运行和维护

    在设计过程中应该注意的:0

     

    需求分析:数据流图(DFD)、数据字典(DD)

    概念结构设计(E-R图)

    物理结构设计: 数据库文件

    逻辑结构设计:(关系模型)

    日志文件的作用:数据的恢复

    7.事务ACID的特性:①原子性、②一致性、③隔离性、④持续性

    8.在SQL中的对象有:table(表)、database(数据库)、view(视图)、index(索引)、user(用户)、trigger(触发器)、procedure(存储)

    9.完整性约束包括:

    ①实体完整性(检查主码是否唯一、检查主码的各个属性是否为空)

    ②用户自定义完整性(根据用户的需要,建立不同的约束,例如列值非空、列值唯一)、③参照完整性(通过在表和表之间建立外键约束来保证完整性原则)。

    10.规范化范式:

    1NF(1范式):每个属性都不可再拆分

    2NF(2范式):在1NF的基础上,要求消除非主属性对码的部分依赖

    3NF(3范式):在2NF的基础上,消除非主属性对码的传递依赖

    BCNF(BC范式):在3NF的基础上,消除了主属性(所有属性)对码的部分依赖以及传递依赖。

    11.不规范的数据模型存在:插入异常、修改

    异常、删除异常、数据冗余

    12.完整数据的授权功能控制的SQL 的命令是:grant(授予)、revoke(收回)

    13.存储过程的含义:存储过程是由过程化SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,这个过程就叫做存储过程。

    14.触发器是一种特殊的存储过程,它可以对一个表上进行insert(插入)、update(修改)、delete(删除)操作中的任一种或几种操作时被自动调用执行。

    15.主属性与非主属性:

    ①主属性: 在一个关系中,如一个属性是构成某一个候选关键字的属性集中的一个属性,称为主属性

    ②非主属性:不包含在在任何一个候选码中的属性称为非主属性。非主属性是相对于主属性来定义的,是指关系中不包含任何一个候选码中的属性。

    16.数据库并发操作的问题:丢失更新、不可重复读、读“脏数据”

    17.将E-R图转换为关系模式的规则

    一个1:1:两种方法:①可以创建新的关系描述这种联系,这时将两个实体的主码作为新的关系的候选码 ②也可以直接将一方关系的主码作为另一方关系的外键。

    一个1:N:将“1”方的关系主码放入到“N”方的关系的属性中作为其外键,同时将联系的属性加入到“N”方的关系中。

    一个M:N :要建立新的关系以描述多对多的联系

    三个 或三给以上实体间的一个多元联系可以转换为一个关系模式

    具有相同码的关系模式可以合并

    18.数据库系统的组成:数据库、数据库管理系统(及其应用开发工具 )、应用程序和数据库管理员等组成。

    19.等值连接与自然连接

    ①等值连接:不要求相等属性值的属性名相同,例如A表的S和B表的D进行连接

    ②自然连接:要求相同属性值的属性名相同,例如A表的S和B表的S进行连接

    展开全文
  • 数据库系统概论期末复习大总结

    千次阅读 2020-06-11 21:31:11
    数据库 关系代数: 一.关系代数五个基本操作 1.选择(σ):把满足条件的元组找出来(元组对应行) 2.投影(Π):把不需要的列去掉(属性对应列,对某些或几列属性进行查询) 3.笛卡尔乘积(×):把2个关系拼接 4....

    数据库

    关系代数:

    一.关系代数五个基本操作

    1.选择(σ):把满足条件的元组找出来(元组对应行)
    2.投影(Π):把不需要的列去掉(属性对应列,对某些或几列属性进行查询)
    3.笛卡尔乘积(×):把2个关系拼接
    4.集合差(-):集合中减法
    5.集合并(∪):2个关系中模式相同的元组并起来

    二.常用操作

    1.集合交(∩):和数字中类似
    2.连接
    (1)条件连接:表1 表2=σ条件(表1×表2)
    (2)等值连接:若(1)中条件都是相等判断,则是等值连接
    (3)自然连接:2张表在它们所有的公共属性上做等值连接,并把结果中重复的
    列去掉
    在这里插入图片描述
    (4)外连接:
    ①左外连接:把连接运算符左边的所有元组都保留下来,不匹配的元组在右边补
    空值
    ②右外连接:把连接运算符右边的所有元组都保留下来,不匹配的元组在右边补
    空值
    ③外连接:把所有元组都保留下来
    3.除运算:查找所有(全部)(至少)…的时候用除法操作(所查信息不能在一个表中查)
    在这里插入图片描述
    首先两表相除需要有公共属性,除法作用是我们找出被除数中是否有一个或几个元组(除了公共属性以外的元祖)与除数中所有相关属性都有关联,往往全部…作为除数,而所查的信息(属性)作为被除数。
    在这里插入图片描述

    SQL查询:

    基本查询

    1.格式
    select distinct 所查内容
    from 所查询的表(可多个)
    where 条件
    2.常用条件
    (1)between…and…,not between…and…,在…之间或不在…之
    (2)in ,not 确定集合
    (3)like 模糊查询
    ①%表示任意长度 ②_表示任意单个字符
    ③若你想查的字符为_,则在_前加
    (4)and 查询结果满足and两边条件
    or 查询结果满足两边一个条件就行
    not 否定
    (5)is null, is not null
    3.聚集函数
    (1)count(*):统计在一个关系中有多少元组
    (2)count([distinct]A):计算属性A有多少个值(加distinct表示有多少不同的值)
    (3)sum([distinct]A):A的属性上所有元组加一起求和
    (4)avg([distinct]A):对A的属性上所有元组求平均值
    (5)max([distinct]A):求属性A的最大值
    (6)max([distinct]A):求属性A的最小值
    4.查询完整格式
    select [distinct] 所查内容 (注:having可以和聚集函数
    from 所查询的表(可多个) 一起使用,where不可以)
    where 条件或连接或嵌套
    group by 属性 对属性相同的值进行分组
    having 条件 对group by得到的组进行筛选
    order by____(desc) 对查询结果的一个或多个属性升序或降序(desc)

    5.连接查询
    (1)用法:所查信息不能在一个表中查出来
    (2)自然连接:在等值连接的基础上把重复属性列去掉
    (3)自身连接:自己与自己做笛卡尔积,再连接条件做选择操作
    (4)外连接
    在这里插入图片描述
    (5)多表连接
    在这里插入图片描述

    6.嵌套查询

    (1)分类:
    ①不相关子查询:子查询的查询条件不依赖于父查询
    在这里插入图片描述
    ②相关子查询:子查询的查询条件依赖于父查询
    (2)in
    (3)比较运算符
    在这里插入图片描述
    (3)any.all
    在这里插入图片描述
    在这里插入图片描述
    (5)exists (存在), not exists(不存在)
    在这里插入图片描述
    在这里插入图片描述

    7集合查询

    (1)intersect(交)
    (2)union(并)
    (3)except(差)
    8派生表
    9插入数据
    (1)插入元组:
    insert
    into 表名 (属性1,属性2,…)
    values (值1,值2,…)
    (2)插入子查询结果:
    (3)insert
    into 表名(属性1,属性2,…)
    子查询

    10.修改数据
    update 表名
    set 属性=修改的值
    where 条件
    子查询修改:(集合)
    在这里插入图片描述

    11.删除数据

    delete
    from 表名 (修改和删除的条件可以是子查洵)
    where 条件
    子查询删除(集合)

    12.视图

    (1)创建视图
    create view 视图名(属性1,属性2,…) //属性可省
    as 查询语句
    [with check option] //可省,加上表示对视图进行更新,插入,删除操作
    时要保证更新,插入或删除的行满足子查询中的条件表达式
    在这里插入图片描述
    (2)删除视图
    drop view 视图名 [cascade] //cascade可省,表示级联删除该视图和它导出的所有视图
    (3)查询视图,更新视图和基本表类似

    完整性与安全性

    1.三大完整性约束
    基本概念:(1)候选码:一个或一组属性能唯一地标识一个元组,而其子集不能
    (2)主码:若有多个候选码.则选其中一个为主码
    (3)外键(外码):一个表中一个(多个)属性,不是自身的主码,且这个属性和另一个表中的主码属性是同一个属性,则这个(组)属性称为外码
    (1)实体完整性:主码不能重复,主码不能为空
    (2)参照完整性:外键不能为空(或者均为空值)外键等于被参照表的主码值
    (3)用户定义完整性:用户自定义的完整性约束条件
    2.可能大题:创建一个表,给出属性以及属性的条件,定义主建和外键,而且当你更新或删除与外键有关的另一个表时,这个表是否要级联,拒绝更新,删除
    (1)基本概念:①数据类型:a.char(n):长度为n的定长字符串b.varchar(n):最大长度为n的变长字符串c.int:长整数(4字节) d.smallint:短整数(2字节)
    ②定义主建,外键
    a.主键: primary key (属性1,属性2,) 相同
    b.外键: foreign key 外键 reference 被参照表(主键)
    ③级联更新/删除:on delete/update cascade
    ④拒绝更新/删除:on delete/update no action
    一般③④跟在外键后
    (2)结构
    create table 表名
    (属性 数据类型 定义的约束条件 (包括①非空:not null②唯一 日唯unique③check:自定义的约束条件④定义为主码)
    属性 数据类型 定义的约束条件

    primary key (属性1,属性2)//定义主键
    foreign key (属性)外键 references 被参照表(属性)主键 on delete/update cascade/no action
    画√的地为可以加constraint 完整性约束条牛名
    (4)授权
    grant 权限(如delete)
    on 对象类型(如table,view) 对象名
    to 用户
    [with grant option]//可省,加上表示可以将权限授予其他用户
    (5)对权限收回
    revoke 权限(如select)
    on 对象类型(如table,view)
    from 用户

    范式

    1.1NF:关系中的每个属性都是原子的,不可再分的,每个关系都要满足1NF

    2.2NF:满足1NF且这张表中不存在属性对主键的部分函数依赖(部分函数依赖指的是依赖于主键的一部分)
    如: S(sno,sname,age,cno,grade) 主键(sno,cno) 成绩由sno,cno共同决定,但sname,age仅由sno就可以决定,即sname,age只依赖于主键的一部分,所以不满足2NF
    解决方法:一张表只管一件事.
    把学生表分成学生基本信息表和选课表
    S(sno,sname,age) SC(sno,cno,grade)
    3.3NF:满足2NF且不存在属性对主键的传递依赖

    如Teacher(T#,sal_level,salary)
    T#(决定)→sal-level sal_level→salary
    如将2级公资水评的工资为2000改为2级工资水平工资为3000。虽然学号没变,但工资额己经分为 Teacher(T#,sal_level) level(sal_level,salary)
    解决方案:一张表管一件事
    4.BCNF:不存在以下关系
    R(C ,S , P)
    在这里插入图片描述

    E-R图

    1.基本概念
    在这里插入图片描述
    3.转换为关系模型
    (1)E-R图的实体转换为关系(表名)
    (2)E-R图的属性转换为关系的属性
    (3)联系转换
    ①联系种类:1:1,1:n(n:1),n:m
    ②联系转换方法:
    a.1:1两种方法
    第一种将联系转换成一个关系(表),这个关系的属性是两个关系的主码加联系的属性.
    第二种是将一个关系的主码加联系的属性写到另一个关条中
    b.1:n转换两种方法
    第一种
    第二种此时是将联条的1:n中1端关系的主码写到n端上

    C.n:m

    第一种

    封锁协议

    对事务T要修改的数据加X锁,直到事务结束(包括正常结束和非正常结束)时才释放。
    • 一级封锁协议可以防止丢失修改,并保证事务T是可恢复的
    • 但不能保证可重复读和不读“ 脏” 数据。
    封锁协议总结:
    在这里插入图片描述
    死锁:两个事务相互等待对方先释放资源,则会造成死锁。
    解决:①一次封锁②顺序封锁
    数据库故障
    • 非预期的故障:事不能由应用程序发现的(称为非预期的故障),如: • 运算溢出 • 并发事务发生死锁而被选中撤销该事务 • 违反了某些完整性限制等务内部的故障
    • 系统故障:是指造成系统停止运转、要重启的故障。 • 例如,硬件错误(CPU故障)、操作系统故障、突然停电等都是系统故障。 • 这样的故障会影响正在运行的所有事务,但不破坏数据库。
    • 其他故障:介质故障:指外存故障,如磁盘损坏等。 • 这类故障会对数据库造成破坏,并影响正在操作的数据库的所有事务。 • 发生的可能性很小,但破坏性很大。
    • 计算机病毒:的破坏性很大,而且极易传播,它也可能对数据库造成毁灭性的破坏。
    总结两种: • 一是数据库本身被破坏。 • 二是数据库没有被破坏,但数据可能不正确,这是由于事务的运行被非正常终止造成的。

    展开全文
  • 2008-2009学年《数据库系统概论期末考试试卷含答案.doc
  • 常州工学院试卷数据库系统概论试题(答案及评分标准) 填空题(每题2分,共20分) 1. 关系模型的基本数据结构是一张___________表。由_____和列组成。. 2. 数据库管理系统在三级模式之间提供了两层映象,这两层...
  • 大部分对应《数据库系统与原理》的目录,从数据库的绪论到并发控制一共是十个章节知识点,文档是对整本书的知识点的总结归纳+个人理解
  • 数据库系统概论期末模拟试题
  • 广东工业大学数据库系统概论试卷(期末复习必备,包含课后答案)
  • 这学期学习了数据库系统概论,不出意外的上课没好好听讲,转眼期末了,又到了熬夜爆肝的时刻,根据老师画的考试重点和难点,进行了总结和分析,希望能够加深自己的印象,同时也给其他人提供一点帮助. 一.SQL语句 ...

    这学期学习了数据库系统概论,不出意外的上课没好好听讲,转眼期末了,又到了熬夜爆肝的时刻,根据老师画的考试重点和难点,进行了总结和分析,希望能够加深自己的印象,同时也给其他人提供一点帮助.

    一.SQL语句

    学习数据库我们首先就应该学会使用它,如果不能上机测试的话,那就考察sql语句吧!!!

    在考试之中最重要的也是最好拿分的就是sql语句的增删改查,不需要死记硬背,只要稍微练习,能够清楚就可以了。

    常规查询

    选择:select * from table1 where 范围
    插入:insert into table1(field1,field2) values(value1,value2)
    删除:delete from table1 where 范围
    更新:update table1 set field1=value1 where 范围
    查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料!
    排序:select * from table1 order by field1,field2 [desc]
    总数:select count as totalcount from table1
    求和:select sum(field1) as sumvalue from table1
    平均:select avg(field1) as avgvalue from table1
    最大:select max(field1) as maxvalue from table1
    最小:select min(field1) as minvalue from table1

    经典案例测试题:(建议自己练习)

    1.学生表
    Student(S#,Sname,Sage,Ssex) 

    --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别

    --2.课程表 
    Course(C#,Cname,T#) 

    --C# --课程编号,Cname 课程名称,T# 教师编号


    --3.教师表 
    Teacher(T#,Tname)

     --T# 教师编号,Tname 教师姓名


    --4.成绩表  
    SC(S#,C#,score)

     --S# 学生编号,C# 课程编号,score 分数

    创建测试数据
    
    
    
    学生表 Student
    
    create table Student(S# varchar(10),Sname nvarchar(10),Sage datetime,Ssex nvarchar(10))
    insert into Student values('01' , N'赵雷' , '1990-01-01' , N'男')
    insert into Student values('02' , N'钱电' , '1990-12-21' , N'男')
    insert into Student values('03' , N'孙风' , '1990-05-20' , N'男')
    insert into Student values('04' , N'李云' , '1990-08-06' , N'男')
    insert into Student values('05' , N'周梅' , '1991-12-01' , N'女')
    insert into Student values('06' , N'吴兰' , '1992-03-01' , N'女')
    insert into Student values('07' , N'郑竹' , '1989-07-01' , N'女')
    insert into Student values('08' , N'王菊' , '1990-01-20' , N'女')
    
    
    
    科目表 Course
    create table Course(C# varchar(10),Cname nvarchar(10),T# varchar(10))
    insert into Course values('01' , N'语文' , '02')
    insert into Course values('02' , N'数学' , '01')
    insert into Course values('03' , N'英语' , '03')
    
    
    
    教师表 Teacher
    create table Teacher(T# varchar(10),Tname nvarchar(10))
    insert into Teacher values('01' , N'张三')
    insert into Teacher values('02' , N'李四')
    insert into Teacher values('03' , N'王五')
    
    
    
    成绩表 SC
    create table SC(S# varchar(10),C# varchar(10),score decimal(18,1))
    insert into SC values('01' , '01' , 80)
    insert into SC values('01' , '02' , 90)
    insert into SC values('01' , '03' , 99)
    insert into SC values('02' , '01' , 70)
    insert into SC values('02' , '02' , 60)
    insert into SC values('02' , '03' , 80)
    insert into SC values('03' , '01' , 80)
    insert into SC values('03' , '02' , 80)
    insert into SC values('03' , '03' , 80)
    insert into SC values('04' , '01' , 50)
    insert into SC values('04' , '02' , 30)
    insert into SC values('04' , '03' , 20)
    insert into SC values('05' , '01' , 76)
    insert into SC values('05' , '02' , 87)
    insert into SC values('06' , '01' , 31)
    insert into SC values('06' , '03' , 34)
    insert into SC values('07' , '02' , 89)
    insert into SC values('07' , '03' , 98)
    
    
    

     

    二.范式

    依赖:函数X确定函数Y称为Y函数依赖于X   即X->Y

    候选码是最小的超码:完全函数依赖         选定一个是主码 

    候选码中的属性是主属性  不在候选码中的属性是非主属性 或者非码属性

     

    第一范式:每一个关系不可再分

    第二范式:非主属性对码是完全函数依赖

    第三范式:非主属性既不传递依赖于码,也不部分依赖于码

    BCNF:不包含在码中的非主属性不是决定因素

    第四范式:不允许有非平凡并且非函数依赖的多值依赖

     

     

     

    展开全文
  • 此书籍为高清无水印的pdf版本,很多大学的基础课程,配着pdf应付期末考试有奇效,哈哈。欢迎下载,这里面是百度云链接和提取码,可自行提取
  • 数据库系统概论期末复习(选择题)

    千次阅读 多人点赞 2019-12-30 19:54:32
    1.数据独立性是指___________ 。 A....2.数据库系统与文件系统的主要区别是 。 A.数据库系统复杂,而文件系统简单 B.文件系统不能解决数据冗余和数据独立性问题,而数据库系统可以解决 ...
  • 数据库系统概论期末试题及答案整理版.doc
  • 数据库系统概论期末试题及答案(重点知识).doc
  • 数据库系统概论期末考试重点总结【全】

    千次阅读 多人点赞 2020-06-02 10:49:09
    1.数据库的四个基本概念:数据、数据库数据库管理系统数据库系统 2.数据是数据库中存储的基本对象,描述事物的符号记录称为数据 3.数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 4.数据库的...
  • 数据库系统概论期末不挂科

    千次阅读 多人点赞 2021-05-29 11:55:13
    数据库系统的核心是 数据库管理系统 DBMS 数据库系统的特点的是 数据结构化、数据由DBMS统一管理和控制、数据独立性高 概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是 实体-联系模型(E-R模型) ...
  • 数据库系统概论复习资料外加期末试卷
  • 东北大学数据库系统概念期末复习题与个人笔记(笔记参考自数据库系统概念(原书第六版)与课程教学PPT)
  • 数据库系统概论 2011 年期末考试复习题 一选择题 ? 第 1 至 3题基于以下的叙述有关系模式 A CT H R S基中各属性的含 义是 C 课程T 教员 H 上课时间 R 教室 S学生 ? 根据语义有如下函数依赖集 ? F={CT H R C H T R H ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 763
精华内容 305
关键字:

数据库系统概论期末