您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > 数据库-原理-知识点---笔试必备
绪论数据库技术中的四个名词:DB、DBMS、DBS、数据库技术。其概念是不同的。DB:数据库(Database),DB是统一管理的相关数据的集合。DBMS:数据库管理系统(DatabaseManagementSystem),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。DBS:数据库系统(DatabaseSystem),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。数据库技术:是一门研究数据库结构、存储、管理和使用的软件学科。数据库系统数据库系统组成,通常由数据库(DB)、硬件、软件、数据库管理员四部分组成。数据库管理系统1.数据库的定义功能。2.数据库运行控制功能。DBMS对数据库的控制主要通过四个方面实现:数据安全性控制、数据完整性控制、多用户环境下的并发控制和数据库的恢复。3.数据库的维护功能。这一部分包括数据库的初始数据的载入、转换功能、数据库的转储功能、数据库的重组织功能和性能监视、分析功能,大都由各个实用程序来完成。4.数据字典(DataDictionary,记为DD)。数据字典的主要作用是:供数据库管理系统快速查找有关对象的信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、外模式表和模式表;供数据库管理员查询,以掌握整个系统的运行情况;支持数据库设计与系统分析。数据库系统的三级模式:1.外模式2.内模式3.模式4.模式间的映像数据模型1.三个世界现实世界、信息世界、机器世界数据描述的三个领域(现实世界、信息世界和机器世界)信息世界中的几个概念:(1)实体--即客观存在可以相互区别的事物(2)实体集--同类实体的集合(3)属性--实体的特性(4)实体标识符--唯一标识实体的属性或属性集机器世界中的四个概念:(1)字段--标记实体属性的命名单位称为字段或数据项(2)记录--字段的有序集合(3)文件--同一类记录的汇集(4)键(关键码)--能唯一标识文件中每个记录的字段或字段集。这个概念与实体标识符的概念相对应。2.数据模型的三要素(1)数据结构(2)数据操作(3)数据的约束条件3.实体模型,两个实体间的联系可分为3类:(1)一对一联系(1:1)如:学校与校长,观众与座位等。(2)一对多联系(1:n)如:省与市,学校与系部等。(3)多对多联系(n:m)如:学生与课程,教师与课程,师生关系,商店与商品,图书与读者,工厂与产品等。关系数据模型的数据结构关系:对应通常说的表;元组:表中的一行即为一个元组;属性;表中的一例即为一个属性,属性(学号,姓名,性别,系别,年龄和籍贯);主码(KEY):表中的某个属性组,它可以唯一确定一个元组;域(domain):属性的取值范围,如人的年龄一般在1-100岁之间。学生年龄属性的域应是(14—38),性别的域是(男,女),系别的域是一个学校所有系名的集合;分量:元组中的一个属性值;关系模型:对关系的描述,一般表示为:关系名(属性1,属性2,……,属性N)关系数据模型的操纵与完整性约束条件关系数据模型的操纵主要包括查询、插入、删除和更新数据。这些操作必须满足关系的完整性约束条件。关系的完整性约束条件包括3大类:实体完整性、参照完整性和用户定义的完整性。关系数据库关系模型概述1.关系模型组成关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系操作分为两大部分如图所示。查询其它选择Select增加Insert投影Project删除Delete连接Join修改Update除Divide并Union交Intersection差Difference2.关系操作的特点关系操作的特点是操作对象和操作结果都是集合。而非关系数据模型的数据操作方式则为一次一个记录的方式。关系数据语言分为三类:(1)关系代数语言:如ISBL;(2)关系演算语言:分为元组关系演算语言(如Alpha,Quel)、域关系演算语言(如QBE);(3)具有关系代数和关系演算双重特点的语言:如SQL。关系的完整性关系模型的完整性规则是对关系的某种约束条件。关系的完整性共分为三类:实体完整性、参照完整性、用户定义完整性。(1)实体的完整性(EntityIntegrity)规定:若属性A是基本关系R的主属性,则属性A不能取空值。即主属性不能为空。(2)参照的完整性(ReferentialIntegrity)规定:若F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系)则对于R中每个元组在F上的值必须为:①或者取空值(F的每个属性值均为空值);即外码可以为空②或者等于S中某个元组的主码值。(3)用户定义的完整性(UserdefinedIntegrity):就是针对某一具体的关系数据库的约束条件,由应用的环境决定。关系代数等值连接与自然连接的区别和联系。答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。SQL语言概念SQL语言具有DDL、DML、DCL、DQ功能查询DQ——SELECT数据定义DD——CREATE,DROP,ALTER数据操纵DM——INSERT,UPDATE,DELETE数据控制DC——GRANT,REVOKE两种使用方式:直接用SQL,DBMS解释执行;嵌入其它宿主语言定义基本表CREATETABLE表名(列名数据类型[列级完整性约束条件][,列名数据类[列级完整性约束条件]]…[,表级完整性约束条件]);列级完整性约束条件有:NULL(空)、UNIQUE(取值唯一),如NOTNULLUNIQUE表示取值唯一,不能取空值。例建立一个“供应商”表S(Sno,Sname,Status,City)分别表示:供应商代码、供应商名、供应商状态、供应商所在城市。其中供应商代码不能为空,且值是唯一的,且供应商的名是唯一的。CREATETABLES(SnoCHAR(3)NOTNULLUNIQUE,SnameCHAR(30)UNIQUE,StatusCHAR(8),CityCHAR(20))从上述定义可以看出,“SnoCHAR(3)NOTNULLUNIQUE”语句定义了Sno的列级完整性约束条件,取值惟一,不能取空值。修改基本表ALTERTABLE表名[ADD新列名数据类型[完整性约束条件]][DROP完整性约束名][MODIFY列名数据类型]例如,向“供应商”表S增加Zap“邮政编码”可用如下语句:ALTERTABLESADDZapCHAR(6);注意,不论基本表中原来是否已有数据,新增加的列一律为空。又如,将Status字段改为整型可用如下信息:ALTERTABLESMODIFYStatusINT;删除基本表DROPTABLE表名建立索引CREATE[UNIQUE][CLUSTER]INDEX索引名ON表名(列名[次序][,列名[次序]]…);秩序可选:ASC(升序),DSC(降序),默认值为ASC。UNlQUE:表明此索引的每一个索引值只对应惟一的数据记录。CLUSTER:表明要建立的索引是聚簇索引,意为索引项的顺序是与表中记录的物理顺序一致的索引组织。删除索引DROPINDEX索引名视图的创建CREATEVIEW视图名(列表名)ASSELECT查询子句[WITHCHECKOPTION];注意,视图的创建中,必须遵循如下规定:(1)子查询可以是任意复杂的SELECT语句,但通常不允许含有orderby子句和DISTINCT短语;(2)WITHCHECKOPTION表示对UPDATE,INSTER,DELETE操作时保证更新、插入、或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式);(3)组成视图的属性列名或者全部省略或者全部指定。如果省略属性列名,则隐含该视图由SELECT子查询目标列的主属性组成。例建立“计算机”系学生的视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。CREATEVIEWCS_STUDENTASSELECTSno,Sname,Sage,SexFROMStudentWHERESD=’CS’WITHCHECKOPTION查询数据库查询是数据库的核心操作,SQL语言提供了SELECT语句进行数据库的查询。格式如下:SELECT[ALL|DISTINCT]目标列表达式[,目标列表达式]…FROM表名或视图名[,表名或视图名][WHERE条件表达式][GROUPBY列名l[HAVING条件表达式]][ORDERBY例名2[ASC|DESC]…]SELECT子句中的输出可以是:列名、表达式、集函数(AVG,COUNT,MAX,MIN,SUM),DISTINCT选项可以保证查询结果集中不存在重复元组。FROM子句中的出现多个基本表或视图时,系统首先执行笛卡尔儿积操作。WHERE子句的条件表达式中可以使用的运算符如图3—1所示:运算符含义运算符含义集合成员运算符INNOTIN在集合中不在集合中算术运算符≥≤=≠大于大于等于小于小于等于等于/不等于字符串匹配运算符LIKE与_和%进行单个多个字符匹配空值比较运算符ISNULLISNOTNULL为空不能为空逻辑运算符ANDORNOT与或非典型题解析例学生数据库中有三个基本表(关系):S(Sno,Sname,Age,Sex,SD)C(Cno,Cname,Teacher)SC(Sno,Cno.Grade)请用SQL语言完成以下操作:(1)检索选修课程名为“MS”的学生号和学生姓名;(2)检索至少选修了课程号为‘C1’和‘C3’的学生号;(3)检索选修了‘操作系统’或‘数据库’课程的学号和成绩;(4)检索年龄在18到20之间(含18和20)的女生的学号、姓名及年龄;(5)检索选修了“刘平”老师所讲课程的学生的学号、姓名及成绩;解(1)检索选修课程名为“MS”的学生号和学生姓名;方法1(连接查询)SELECTS.Sno,Sname;FROMS,SC,C;WHERES.Sno=SC.SnoANDSC.Cno=C.CnoANDC.Cname=’MS’方法2(嵌套查询)SELECTSno,Sname;FROMS;WHERESnoIN;(SELECTSno;FROMSC;WHERECnoIN;(SELECTCno;FROMC;WHERECname=’MS’))(2)检索至少选修了课程号为‘Cl’和‘C3’的学生号;SELECTSNO,CNO;FROMSC;WHERECNO=C1ORCNO=c3(3)检索选修了‘操作系统’或‘数据库’课程的学号和成绩;方法1(连接查询)SELECTSno,Grade;FROMSC,C;WHERESC.Cno=C.CnoAND(C.Cname='操作系统'OR;C.Cname='数据库')方法2(嵌套查询)SELECTSno,Grade;FROMSC;WHERECnoIN;(SELECTCno;FROMC;WHEREC.Cname='操作系统'ORC.Cname='数据库')(4)检索年龄在18到20之间(含18和20)的女生的学号、姓名及年龄(范围查询)方法1SELECTSno,Sname,Age;FROMS;WHEREAge=18ANDAge=20ANDSex='女'方法2(BETWEENAND)SELECTSno,Sname,Age;FROMS;WHEREAgeBETWEEN18AND20ANDSex='女'(5)检索选修了“刘平”老师所讲课程的学生的学号、姓名方法l(连接查询)SELECTS
本文标题:数据库-原理-知识点---笔试必备
链接地址:https://www.777doc.com/doc-5094402 .html