数据库原理知识点笔试必备.docx

上传人:飞猪 文档编号:480405 上传时间:2025-07-29 格式:DOCX 页数:16 大小:77.55KB
下载 相关 举报
数据库原理知识点笔试必备.docx_第1页
第1页 / 共16页
数据库原理知识点笔试必备.docx_第2页
第2页 / 共16页
数据库原理知识点笔试必备.docx_第3页
第3页 / 共16页
数据库原理知识点笔试必备.docx_第4页
第4页 / 共16页
数据库原理知识点笔试必备.docx_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、绪论 数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的。DB:数据库(DatabaSe),DB是统一管理的相关数据的集合。DBMS:数据库管理系统(DatabaSeManagementSystem),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。DBS:数据库系统(DatabaSeSyStem),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数

2、据库技术的计算机系统。数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。 数据库系统数据库系统组成,通常由数据库(DB)、硬件、软件、数据库管理员四局部组成。 数据库管理系统1 .数据库的定义功能。2 .数据库运行控制功能。DBMS对数据库的控制主要通过四个方面实现:数据平安性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。3 .数据库的维护功能。这一局部包括数据库的初始数据的载入、转换功能、数据库的转储功能、数据库的重组织功能和性能监视、分析功能,大都由各个实用程序来完成。4 .数据字典(DataDictionary,记为DD)。数据字典的主要作用是:供数据库管理系统

3、快速查找有关对象的信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、外模式表和模式表;供数据库管理员查询,以掌握整个系统的运行情况;支持数据库设计与系统分析。数据库系统的三级模式:1 .外模式2 .内模式3 .模式4 .模式间的映像外模式/模式映象模式/内模式映象数据模型1.三个世界现实世界、信息世界、机器世界数据描述的三个领域(现实世界、信息世界和机器世界)信息世界中的几个概念:(1)实体一即客观存在可以相互区别的事物(2)实体集一同类实体的集合(3)属性一实体的特性(4)实体标识符一唯一标识实体的属性或属性集机器世界中的四个概念:(1)字段一标记实体属性的命名单位称为字段

4、或数据项(2)记录一字段的有序集合(3)文件一同一类记录的聚集(4)键(关键码)一能唯一标识文件中每个记录的字段或字段集。这个概念与实体标识符的概念相对应。2 .数据模型的三要素(1)数据结构(2)数据操作(3)数据的约束条件3 .实体模型,两个实体间的联系可分为3类:(1) 一对一联系(1:1)如:学校与校长,观众与座位等。(2) 一对多联系(1:n)如:省与市,学校与系部等。(3)多对多联系(n:m)如:学生与课程,教师与课程,师生关系,商店与商品,图书与读者,工厂与产品等。关系数据模型的数据结构关系:对应通常说的表;元组:表中的一行即为一个元组;属性;表中的一例即为一个属性,属性(学号,

5、姓名,性别,系别,年龄和籍贯);主码(KEY):表中的某个属性组,它可以唯一确定一个元组;域(domain):属性的取值范围,如人的年龄一般在I-100岁之间。学生年龄属性的域应是(1438),性别的域是(男,女),系别的域是一个学校所有系名的集合;分量:元组中的一个属性值;关系模型:对关系的描述,一般表示为:关系名(属性1,属性2,,属性N)关系数据模型的操纵与完整性约束条件关系数据模型的操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括3大类:实体完整性、参照完整性和用户定义的完整性。关系数据库关系模型概述1 .关系模型组成关系模型由关系

6、数据结构、关系操作集合和关系完整性约束三局部组成。关系操作分为两大局部如下图。查询其它选择Select增加Insert投影Project删除Delete连接Join修改Update除Divide并Union交Intersection差Difference2 .关系操作的特点关系操作的特点是操作对象和操作结果都是集合。而非关系数据模型的数据操作方式那么为一次一个记录的方式。关系数据语言分为三类:(1)关系代数语言:如ISBL;(2)关系演算语言:分为元组关系演算语言(如AlPha,Quel)、域关系演算语言(如QBE);(3)具有关系代数和关系演算双重特点的语言:如SQL。 关系的完整性关系模型

7、的完整性规那么是对关系的某种约束条件。关系的完整性共分为三类:实体完整性、参照完整性、用户定义完整性。(1)实体的完整性(EntityImegrity)规定:假设属性A是根本关系R的主属性,那么属性A不能取空值。即主属性不能为空。(2)参照的完整性(ReferentialImegrity)规定:假设F是根本关系R的外码,它与根本关系S的主码Ks相对应(根本关系R和S不一定是不同的关系)那么对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);即外码可以为空或者等于S中某个元组的主码值。(3)用户定义的完整性(USerdefinedIntegrity):就是针对某一具体的关系数

8、据库的约束条件,由应用的环境决定。 关系代数 等值连接与自然连接的区别和联系。答:连接运算符是“二”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比拟的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。SQL语言概念SQL语言具有DDL、DML、DCL、DQ功能查询DQSELECT数据定义DDCREATE,DROP,ALTER数据操纵DMINSERT,UPDATE,DELETE数据控制DCGRANT,REVOKE两种使用方式:直接用SQL,DBMS解释执行;嵌入其它宿主语言 定义根本表CREATET

9、ABLEV表名(列名数据类型列级完整性约束条件,V列名X数据类列级完整性约束条件V表级完整性约束条件);列级完整性约束条件有:NULL(空)、UNlQUE(取值唯一),如NOTNULLUNIQUE表示取值唯一,不能取空值。例建立一个“供给商”表S(Sno,Sname,Status,City)分别表示:供给商代码、供给商名、供给商状态、供给商所在城市。其中供给商代码不能为空,且值是唯一的,且供给商的名是唯一的。CreatetableS(SnOCHARnotnullunique,SnameCHAR(30)UNIQUE,StatusCHAR(8),CityCHAR(20)从上述定义可以看出,“Sno

10、CHAR(3)NOTNULLUNIQUE”语句定义了Sno的歹IJ级完整性约束条件,取值惟一,不能取空值。 修改根本表ALTERTABLEV表名ADD新列名数据类型完整性约束条件DROP完整性约束名MODIFY列名数据类型例如,向“供给商”表S增加ZaP“邮政编码”可用如下语句:ALTERTABLESADDZapCHAR(6);注意,不管根本表中原来是否已有数据,新增加的列一律为空。又如,将StanIS字段改为整型可用如下信息:ALTERTABLESMODIFYStatusINT; 删除根本表DRe)PTABLEV表名 建立索引CREATEUNIQUECLUSTERINDEX索引名0N表名(歹

11、IJ名次序,歹IJ名K次序习);秩序可选:ASC(升序),DSC(降序),默认值为ASC。UNIQUE:说明此索引的每一个索引值只对应惟一的数据记录。CLUSTER:说明要建立的索引是聚簇索引,意为索引项的顺序是与表中记录的物理顺序一致的索引组织。 删除索引DROPINDEX索引名 视图的创立CREATEVIEW视图名(列表名)ASSELECT查询子句WITHCHECKOPTION;注意,视图的创立中,必须遵循如下规定:子查询可以是任意复杂的SELECT语句,但通常不允许含有Orderby子句和DISTINCT短语;(2)WITHCHECKOPTlON表示对UPDATE,INSTER,DELE

12、TE操作时保证更新、插入、或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式);(3)组成视图的属性列名或者全部省略或者全部指定。如果省略属性列名,那么隐含该视图由SELECT子查询目标列的主属性组成。例建立“计算机”系学生的视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。CREATEVIEWCS_STUDENTASSELECTSno,Sname,Sage,SexFROMStudentWHERESD=,CS,WITHCHECKOPTION查询数据库查询是数据库的核心操作,SQL语言提供了SELECT语句进行数据库的查询。格式如下:SELECTALLIDISTINCTk目标

13、列表达式,V目标列表达式FROM表名或视图名,表名或视图名习WHERE条件表达式GROUPBYV列名1HAVING条件表达式ORDERBYV例名2ASCDESCSELECT子句中的输出可以是:列名、表达式、集函数(AVG,COUNT,MAX,MIN,SUM),DISTINCT选项可以保证查询结果集中不存在重复元组。FROM子句中的出现多个根本表或视图时,系统首先执行笛卡尔儿积操作。WHERE子句的条件表达式中可以使用的运算符如图3-1所示:运算符含义运算符含义集合成员运算符INNOTIN在集合中不在集合中算术运算符=18ANDAgeCDM,逻辑、物理模型设计PDM数据库物理设计的内容和步骤。答

14、数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于给定的DBMS0为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构,就是数据库的物理设计的主要内容。数据库的物理设计步骤通常分为两步:(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;(2)对物理结构进行评价,评价的重点是时间效率和空间效率。关系系统及其查询优化关系代数表达式中的查询优化关系系统的查询优化既是关系数据库管理系统实现的关键技术,又是关系系统的优点。因为,用户只要提出“干什么”,不必指出“怎么干”。在关系代数表达式中需要指出假设干关系的操作步骤,问题是怎样做才能保证省时、省空间、效率高,这

15、就是查询优化的问题。需要注意的是,在关系代数运算中,笛卡尔积、连接运算最费时间和空间,究竟应采用什么样的策略,节省时间空间,这就是优化的准那么。1 .优化的准那么(1)选取运算尽可能先做(2)在执行连接前对关系适当地预处理,方法有两种:索引连接法、排序合并连接法(3)将投影运算和选择运算同时进行(4)将投影运算和其前后的二目运算结合起来(5)将投影同其前面要执行的笛卡儿积结合起来成为一个连接运算2 .关系代数表达式的等价变换规那么在教学数据库S、SC、C中,用户有一查询语句:检索女同学选修课程的课程名和任课教师名。(1)试写出该查询的关系代数表达式;(2)试写出查询优化的关系代数表达式。(1)

16、 CNAME1TEACHER(。SEX=女(SbdSCtxiC)(2)优化为:叮CNAME,TEACHER(CM兀CK兀Ma(SC)X兀S*(SEX=女(三)(根本思路:尽量提前做选择操作;在每个操作后,应做个投影操作,去掉不用的属性值。数据库恢复技术事务的根本概念事务(Transaction)事务是用户定义的一个操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位,是数据库环境中的逻辑工作单位。事务和程序是两个概念,一般程序包含多个事务。事务的开始与结束可以由用户显式控制。如果用户没有显式地定义事务,那么由DBMS按缺省规定自动划分事务。在SQL语言中,定义事务的语句有三条:BEG

17、INTRANSACTION事务开始对数据库的更新操作COMMIT事务提交ROLLBACK事务回滚事务的特性事务具有四个特性,简称AClD特性。A.原子性(AtoIniCity)事务是数据库的逻辑工作单位,事务中包括的诸操作要么都做,要么都不做。B.一致性(COnSiStenCy)事务执行的结果必须是使数据库从一个一致性状态变到另一个一致性状态。因此当数据库只包含成功事务提交的结果时,就说数据库处于一致性状态。如果数据库系统运行中发生故障,有些事务尚未完成就被迫中断,系统将事务中对数据库的所有已完成的操作全部撤消,滚回到事务开始时的一致状态。C.隔离性(ISOlation)一个事务的执行不能被其

18、他事务干扰。即一个事务内部的操作及使用的数据对其他并发事务是隔离的,并发执行的各个事务之间不能互相干扰。D.持续性(DUrabiIity)持续性也称永久性(Permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其执行结果有任何影响。举例:银行转帐事务该事务把一笔金额从一个帐户甲转给另一个帐户乙。BEGINTRANSACTION读帐户甲的余额BALANCE;BALANCE=BALANCE-AMOUNT;-AMOUNT为转帐金额IF(BALANCEO)THEN打印金额缺乏,不能转帐;ROLLBACK;-撤消该事务)ELSE读帐户乙的余额B

19、ALANCE1;Balancei=balance1+amount;写回BALANCE1;COMMIT;一提交该事务)并发控制概念1 .在数据库中为什么要并发控制?数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时读取和/或修改同一数据的情况。假设对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制。2 .并发操作可能会产生哪几类数据不一致?用什么方法能防止各种不一致的情况?并发操作带来的数据不一致性包括三类:丧失修改、不可重复读和读“脏”数据。(1)丧失修改(LostUpdate)两个事务Tl和T2读入

20、同一数据并修改,T2提交的结果破坏了(覆盖了)Tl提交的结果,导致Tl的修改被丧失。(2)不可重复读(Non-RepeatabIeRead)不可重复读是指事务Tl读取数据后,事务T2执行更新操作,使Tl无法再现前一次读取结果。(3)读“脏”数据(DirtyRead)读“脏”数据是指事务Tl修改某一数据,并将其写回磁盘,事务T2读取同一数据后,Tl由于某种原因被撤销,这时Ti已修改正的数据恢复原值,T2读到的数据就与数据库中的数据不一致,那么T2读到的数据就为“脏”数据,即不正确的数据。防止不一致性的方法和技术就是并发控制。最常用的并发控制技术是封锁技术。3.什么是封锁?封锁就是事务T在对某个数

21、据对象例如表、记录等操作之前,先向系统发出请求,对其加锁。加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事务不能更新此数据对象。封锁是实现并发控制的一个非常重要的技术。4 .根本的封锁类型有几种?试述它们的含义。5 .根本的封锁类型有两种:排它锁(EXClUSiVeLoCkS,简称X锁)和共享锁(ShaeLocks,简称S锁)。排它锁又称为写锁。假设事务T对数据对象A加上X锁,那么只允许T读取和修改A,其他任何事务都不能再对A加任何类型的锁,直到T释放A上的锁。这就保证了其他事务在T释放A上的锁之前不能再读取和修改Ao共享锁又称为读锁。假设事务T对数据对象A加上S锁,那么事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁,直到T释放A上的S锁。这就保证了其他事务可以读A,但在T释放A上的S锁之前不能对A做任何修改。6.什么样的并发调度是正确的调度?可串行化(Serializable)的调度是正确的调度。可串行化的调度的定义:多个事务的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化的调度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 数据库

宁ICP备18001539号-1