SQL_数据库概论期末复习总结

合集下载

SQL期末复习简答题

SQL期末复习简答题

SQL期末复习简答题第⼀章:数据库概述1.SQL Server的系统数据库有哪些?其作⽤是什么?答:6个系统数据库a)Master:记录了SQL Server系统的所有系统信息。

这些系统信息包括所有的登录信息、系统配置信息、SQL Server的初始化信息和其他系统数据库及⽤户数据库的相关信息。

b)Model:它是所有⽤户数据库和Tempdb数据库的模板数据库。

它包括Master数据库所有系统表的⼦集,这些系统数据库是每个⽤户定义数据库所需要的。

c)Msdb:代理数据库,为其警报、任务调度和记录操作员的操作提供存储空间。

d)Tempdb:是⼀个临时数据库。

它为所有的临时表、临时存储过程及其他临时操作提供存储空间。

e)Pubs和Northwind:是两个实例数据库。

2.SQL Server最重要的系统表有哪些?其作⽤是什么?答:a)Sysobjects:出现在每个数据库中,它对每个数据库对象含有⼀⾏记录。

b)Syscolumns:出现在Master数据库和每个⽤户⾃定义的数据库中,它对基表或者视图的每个列和存储过程中的每个参数都含有⼀⾏记录。

c)Sysindexes:出现在Master数据库和每个⽤户⾃定义的数据库中,它对每个索引和没有聚集索引的每个表都有含有⼀⾏记录,它还对包括⽂本或图像数据的每个表都有⼀⾏记录。

d)Sysusers:出现在Master数据库和每个⽤户⾃定义的数据库中,它对整个数据库中的每个Windows NT⽤户、Windows NT⽤户组、SQL Server⽤户或者SQL Server⾓⾊都含有⼀⾏记录。

e)Sysdatabases:对SQL Server系统上的每个系统数据库和⽤户⾃定义的数据库都含有⼀⾏记录,它只出现在master数据库中。

f)Sysdepends:对表、视图和存储过程之间的每个依赖关系含有⼀⾏记录,它出现在master数据库和每个⽤户⾃定义的数据库中。

sql数据库知识点总结

sql数据库知识点总结

sql数据库知识点总结SQL(Structured Query Language)是一种用于管理和操作关系型数据库的语言。

它允许用户定义,操作和控制数据库中的数据和结构。

以下是SQL数据库的一些重要知识点的总结。

1. 数据库管理系统(DBMS):DBMS是一种软件程序,可用于创建,操作和管理数据库。

一些常见的DBMS有MySQL,Oracle,SQL Server等。

它们提供了一种简化和标准化的方式来处理数据库中的数据。

2. 表(Table):表是数据库中的一个基本组成单元,它由行和列组成。

每一列定义了表中的一种属性(字段),而每一行则表示一个具体的数据记录。

表可以用于存储不同类型的数据,如用户信息,产品信息等。

3. 数据类型(Data Types):数据库中的每个字段都必须定义一个数据类型,以指定该字段可以存储的数据的类型。

常见的数据类型包括整数,浮点数,字符串,日期等。

正确选择和使用数据类型可以节省存储空间并提高数据库性能。

4. 查询(Query):查询是在数据库中检索数据的过程。

使用SQL语句可以指定要查询的字段,条件和排序方式。

查询语句可以返回满足条件的数据记录,并且可以进行分组,过滤等操作。

5. 插入(Insert):插入是向数据库表中添加新数据记录的过程。

使用INSERT语句可以指定要插入的数据值。

如果表定义了主键,插入操作必须满足主键的唯一性约束。

6. 更新(Update):更新是更改数据库中现有数据记录的过程。

使用UPDATE语句可以指定要更新的字段和条件。

更新语句可以用来修复数据错误,更改数据状态等。

7. 删除(Delete):删除是从数据库表中删除数据记录的过程。

使用DELETE语句可以指定要删除的记录和条件。

在执行DELETE语句之前,应该先确认删除操作不会影响到其他相关数据。

8. 聚合函数(Aggregate Functions):聚合函数是用来计算表中数据的总和,平均值,最大值,最小值等统计信息的函数。

sql复习资料整理

sql复习资料整理

SQL复习资料整理SQL(Structured Query Language)结构化查询语言,是一种专门用于管理和操作关系型数据库的编程语言。

在数据库领域中,SQL可以用来存储、修改、删除和检索关系型数据库中的数据。

因此,学习和掌握SQL是非常重要的。

本文将为您整理一些SQL复习资料,帮助您更好地学习和掌握SQL语言。

SQL基础知识在学习SQL之前,您应该首先了解SQL的基础知识,包括以下几个方面:1.SQL的历史和发展2.SQL的标准化3.关系型数据库概念4.SQL的核心语句和数据类型SQL核心语句SQL的核心语句包括数据查询语句(SELECT)、数据添加语句(INSERT)、数据更新语句(UPDATE)、数据删除语句(DELETE)。

以下是每个语句的基本用法:SELECT语句SELECT语句用于从表中检索数据。

它的基本语法如下:SELECT column1, column2, ... FROM table_name;你还可以在SELECT语句中使用WHERE子句来过滤检索结果,如下所示:SELECT column1, column2, ... FROM table_name WHERE condition;其中,condition是一个条件表达式,用于过滤检索结果。

INSERT语句INSERT语句用于将数据添加到表中。

它的基本语法如下:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value 2, ...);其中,column1、column2是表的列名,value1、value2是要插入的值。

UPDATE语句UPDATE语句用于更新表中的数据。

它的基本语法如下:UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;其中,condition是要更新的数据所匹配的条件。

《数据库系统概论》期末考试重点总结【全】

《数据库系统概论》期末考试重点总结【全】

《数据库系统概论》期末考试重点总结第一章:绪论1.数据库的四个基本概念:数据、数据库、数据库管理系统和数据库系统2.数据是数据库中存储的基本对象,描述事物的符号记录称为数据3.数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。

4.数据库的特点:独立性、易扩展性、较小的数据冗余、可为各种用户共享5.数据库管理系统是位于用户与操作系统之间的一层数据管理软件6.数据库管理系统的功能:数据定义功能,数据存储、组织和管理,数据操纵,数据库建立于维护7.数据库系统是由数据库、数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统8.数据管理技术的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段9.数据独立性是指借助数据库管理数据的一个显著优点。

包括物理独立性和逻辑独立性10.物理独立性是指用户的应用程序与数据库中数据的物理存储是相互独立的11.逻辑独立性是指用户的应用程序与数据库中数据的逻辑结构是相互独立的12.数据模型是数据库系统的核心和管理13.模型分为两大类:第一类是概念模型,第二类是逻辑模型和物理模型14.数据库领域中主要的逻辑数据模型,除了面向对象数目模型,对象关系数据模型,半结构化数据模型外,还有其他三个模型,分别是:层次模型、网状模型、关系模型15.码:唯一标识实体的属性集称为码16.实体之间的联系:一对一、一对多、多对多17.数据模型通常是由数据结构、数据操作、完整性约束三部分组成18.数据结构描述数据库的组成对象以及对象之间的联系19.数据操作是指对数据库中各种对象的实例运行执行的操作的集合20.关系完整性约束条件包括三类:实体完整性、参照完整性、用户自定义完整性21.模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图22.一个数据库只有一个模式,只有一个内模式,可以有多个外模式23.外模式/模式保证数据的逻辑独立性24.模式/内模式保证数据的物理独立性第二章:关系数据库1.域:域是一组具有相同数据类型的值的集合。

SQL期末复习学第二学期

SQL期末复习学第二学期

SQL期末复习学第⼆学期SQL期末复习考核知识点:第⼀章:数据库的基础知识1)数据库概述:定义2)数据库系统:构成、核⼼3)关系模型:记录、属性、字段等概念第三章:SQL 的基础知识1)SQL的数据类型:基本类型的种类与使⽤⽅法2)标⽰符:⾃定义标⽰符的规则3)使⽤SQL语句管理与维护数据库:创建、修改、删除数据库的SQL语句4)使⽤SQL语句管理与维护表:创建、修改、更新、删除的操作5)利⽤简单的SQL语句进⾏表格数据的查询:简单select 语句第四章:SQL ⾼级查询1)关联表查询2)UNION⼦句的使⽤3)⼦查询(IN)与连接查询(LEFT/RIGHT/FULL JION)第五章:视图1)视图的概述2)创建视图、使⽤与维护视图第六章:索引1)索引的概述2)索引的分类第七章:T-SQL 程序设计1)T-SQL的变量类型与表⽰⽅法2)程序流程控制语句:(BEGIN END、IF ELSE、WHILE)第⼋章:函数1)系统内置函数2)⾃定义函数的使⽤第九章:存储过程、触发器和游标1)系统存储过程与⾃定义存储过程的使⽤2)触发器的概述与使⽤第⼗⼀章:SQL 数据库的安全性管理1)SQL的安全性机制2)登陆账号、⽤户账号、⾓⾊等概念的理解第⼗⼆章:数据的备份与恢复数据的备份⽅法与恢复期末复习综合测试题1. 数据库系统的核⼼是()。

A. 编译系统B. 数据库C.操作系统D.数据库管理系统2. 关系模型中的数据逻辑结构是()。

A. 矩阵B. 树C. ⼆维表D.⽮量3. 关系数据库中的关键字是指( )。

A.能惟⼀决定关系的字段B.不可改动的专⽤保留字C.关键的很重要的字段 D能惟⼀标识元组的属性或属性集合4. 对所有视图都可以进⾏。

A.select B. insert C. update D. delete5. 学⽣社团可以接纳多名学⽣参加,但每个学⽣只能参加⼀个社团,从社团到学⽣之间的联系类型是()。

数据库系统概论期末复习总结

数据库系统概论期末复习总结

数据库系统概论复习总结By Joshua_Guo第一章绪论1.1数据库系统概述【三代演变:层次/网状数据库系统、关系数据库系统、新一代数据库系统】1.1.1 数据库的四个基本概念·数据:数据库中储存的基本对象定义:描述事物的符号记录种类:数字、文字、图形、图像、音频、视频等数字的含义称为语义,与之密不可分:如93是数据,可表示为成绩,体重等数据是有结构的,记录是计算机存储数据的一种格式或方法·数据库:长期存储在计算机内,有组织可共享的数据集合基本特征:1.数据按一定是数据模型组织、描述和储存2.可为各个用户共享,冗余度较小,易扩展3.数据独立性较高·数据库管理系统:位于应用和操作系统间的一层数据管理软件是基础软件,是一个大型复杂的软件系统用途:科学的组织和存储数据,高效的获取和维护数据主要功能:1.数据定义功能2.数据的组织、存储和管理3.数据操纵功能4.数据库的事务管理和运行管理5.数据库的建立和维护功能·数据库系统:计算机系统引入数据库后的系统构成【不引起混淆前提简称数据库】主要构成:·数据库·数据库管理系统(及其应用开发工具)·应用程序·数据库管理员1.1.2 数据管理技术的产生和发展·数据管理:对数据进行分类、组织、编码、存储、检索和维护数据处理和数据分析的中心问题1.1.3 数据库系统的特点·文件系统:程序员必须关注记录结构和不同文件中记录的联系,工作量大编程复杂,开发速度慢·数据库系统:不用关注记录的存储和不同表之间的联系,不用编程,开发速度快·数据结构化:整体结构化,数据之间有联系数据记录可以变长,最小存取单位是数据项·数据的共享性高,冗余度低且易扩充:可以被多个用户应用共享使用·数据独立性高·数据由数据库管理系统统一管理和控制:1)数据的安全性保护2)数据的完整性检查3)并发控制4)数据库恢复1.2数据模型【数据模型是对现实世界数据特征的抽象,是数据库系统的核心和基础。

《数据库概论》第三章期末考试复习提纲+课后习题答案

《数据库概论》第三章期末考试复习提纲+课后习题答案

1.什么是基本表?什么是视图?两者的区别和联系是什么?
答:
基本表是本身独立存在的表,在SQL中一个关系就对应一个基本表。

视图是从一个或几个基本表导出的表。

视图本身不独立存储在数据库中,是一个虚表。

即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。

视图在概念上与基本表等同,用户可以如同基本表那样使用视图,可以在视图上再定义视图。

2.试述视图的优点。

答:
①视图能够简化用户的操作。

②视图使用户能以多种角度看待同一数据。

③视图对重构数据库提供了一定程度的逻辑独立性。

④视图能够对机密数据提供安全保护。

大一数据库期末知识点总结

大一数据库期末知识点总结

大一数据库期末知识点总结数据库是计算机科学中的重要组成部分,它负责存储、管理和操作数据。

作为大一学生,我们需要掌握数据库的基本概念、数据库管理系统的使用方法以及SQL语言的基本操作。

以下是大一数据库期末知识点的总结:一、数据库基础概念1. 数据库的定义:数据库是指按照数据模型组织、描述和存储数据的集合。

2. 数据库管理系统(DBMS)的定义:数据库管理系统是指用于管理数据库的软件系统。

3. 数据库系统的特点:数据共享性、冗余度低、数据独立性、数据一致性、数据安全性。

4. 数据库模型:层次模型、网状模型、关系模型。

5. 实体-关系模型:实体、属性、关系、实体型、属性型、关系型的概念。

二、关系数据库和SQL语言1. 关系数据库的定义:关系数据库是指由二维表组成的数据库。

2. 关系数据库的基本操作:选择、投影、联接、除操作。

3. SQL语言:SQL是结构化查询语言的缩写,用于管理关系数据库的查询和操作。

4. SQL语言的基本操作:查询数据(SELECT)、插入数据(INSERT)、更新数据(UPDATE)、删除数据(DELETE)。

5. 创建表格及设置约束:创建表格(CREATE TABLE)、设置主键、外键、唯一性约束等。

6. SQL函数和操作符:聚合函数(SUM、COUNT、AVG等)、条件操作符(LIKE、BETWEEN等)。

7. SQL查询语句的优化:避免使用SELECT *、合理使用索引、减少数据I/O。

三、数据库管理系统的使用1. 数据库系统软件安装:选择合适的数据库系统软件、安装过程的具体操作。

2. 数据库系统的配置和启动:配置数据库服务器、设置数据库端口、启动数据库服务器。

3. 数据库的创建和删除:创建数据库、删除数据库、备份和恢复数据库。

4. 数据表的创建和操作:创建表格、添加数据、修改数据、删除数据。

5. 数据表的查询和分析:单表查询、多表查询、数据排序、数据过滤。

6. 数据库索引的创建和优化:创建索引、优化索引性能。

数据库导论期末总结

数据库导论期末总结

数据库导论期末总结一、引言数据库导论课程是计算机科学与技术专业的重要基础课程之一,旨在介绍数据库的基本概念、原理和应用。

通过学习本课程,我们对数据库的概念、架构、设计和管理等方面有了更深入的了解。

下面将对我在本学期学习的数据库导论课程进行总结。

二、学习内容1. 数据库的基本概念和特点数据库是大量相关数据的集合,可以存储和管理大量数据。

数据库的特点有数据的共享性、数据的独立性、数据的冗余度低等。

通过学习数据库的基本概念和特点,我对数据库的基本原理有了初步的了解。

2. 关系数据库关系数据库是最常用的数据库模型,它把数据保存在表格中,并通过表格之间的关联来建立数据之间的联系。

通过学习关系数据库的原理和SQL语言的使用,我掌握了关系模型的基本操作和查询。

3. 关系数据库设计关系数据库的设计是数据库系统中最关键和最复杂的一部分,它决定了数据库的结构和性能。

在课程中,我们学习了实体关系模型、关系模型和关系数据库的设计原则和方法。

通过实践项目,我了解了如何进行数据库的实际设计和建模。

4. 数据库管理系统数据库管理系统(DBMS)是用于管理数据库的软件系统,它提供了对数据库的访问和操作接口。

在课程中,我们学习了DBMS的基本架构、功能和原理。

通过实验和作业,我熟悉了几种常见的DBMS的使用方法和查询语言。

5. 数据库查询优化查询优化是提高数据库查询性能的关键技术,通过对查询语句进行优化和重写,可以提高查询效率和减少资源消耗。

在课程中,我们学习了查询优化的基本原理和方法。

通过实验和实际案例,我了解了如何进行查询优化和性能调优。

三、课程收获通过学习数据库导论课程,我收获了以下几方面的知识和技能:1. 数据库基本概念和原理:我对数据库的基本概念、架构和应用有了更深入的了解,了解了数据库的基本原理和特点。

2. 关系数据库的设计和操作:我学会了使用关系数据库进行数据建模、设计和操作,掌握了SQL语言的基本操作和查询技巧。

数据库期末复习资料(sql语句,触发器,存储过程)

数据库期末复习资料(sql语句,触发器,存储过程)

Sql语言1、查询“00001”课程比“00002”课程成绩高的所有学生的学号select a.StuID as "学号"from (select StuID,StuScores from Scores where CourseId='00001') a ,(select StuID,StuScores from Scores where CourseId='00002') bwhere a.StuScores>b.StuScores and a.StuID=b.StuIDselect T1.StuID 学号--使用自表连接from (select StuID,StuScores from Scores where CourseId = '00001') T1inner join (select StuID,StuScores from Scores where CourseId = '00002') T2on T1.StuID = T2.StuIDwhere T1.StuScores>T2.StuScores--2、查询平均成绩大于60分的学号和平均成绩select StuID as "学号",avg(StuScores) as "成绩"from Scoresgroup by StuIDhaving avg(StuScores)>60--3、查询所有同学的学号,姓名,选课数,总成绩select Students.StuID as "学号",Students.StuName as "姓名",count(Scores.CourseId) as "选课总数",sum(StuScores) as "总分"from Students left join Scores on Students.StuID=Scores.StuIDgroup by Students.StuID,StuName--4、查询姓“易”的老师个数select COUNT(distinct(Teacher)) as "个数"from Coursewhere Teacher like '易%'--5、查询没学过“易文龙”老师课的同学的学号,姓名select Students.StuID as "学号",Students.StuName as "姓名"from Studentswhere StuID not in (select distinct(Scores.StuID) from Scores,Course where Scores.CourseId=Course.CourseId and Teacher='易文龙')--6、查询学过“00001”并且也学过编号“00002”课程的同学的学号,姓名select a.StuID as "学号",StuName as "姓名"from Students a,Scores b,(select * from Scores where courseId = '00001') cwhere b.CourseId='00002' and a.StuID = b.StuID and a.StuID = c.StuID--7、查询学过“易文龙”老师所教的所有课程同学的学号,姓名select StuID as "学号",StuName as "姓名" from Students awhere not Exists(select * from Course b where Teacher = '易文龙'and not Exists(select * from Scores c where c.StuID=a.StuID and c.CourseId=b.CourseId))--8、查询课程编号“00002”的成绩比课程编号“00001”课程低的所有同学的学号,姓名select a.StuID as "学号",a.StuName as "姓名"from (select Scores.StuID,StuScores,Students.StuNamefrom Scores inner join Studentson Scores.StuID = Students.StuID and CourseId='00001') a ,(select StuID,StuScores from Scores where CourseId='00002') bwhere a.StuScores>b.StuScores and a.StuID=b.StuID--9、查询所有课程成绩小于60分的同学学号和姓名select StuID as "学号",avg(StuScores) as "平均分"from Scoresgroup by StuID having avg(StuScores)<60;select T1.StuID,StuNamefrom (select StuID from Scores group by StuID having MAX(StuScores)<=60) T1inner join Students T2on T1.StuID = T2.StuID--10、查询没有学过所有课的同学的学号,姓名select Students.StuID as "学号",Students.StuName as "姓名"from Students,Scoreswhere Students.StuID=Scores.StuIDgroup by Students.StuID,Students.StuNamehaving count(CourseId)<(select count(CourseId)from Course)--会漏掉未选修课的学生,应该使用以下方法select T2.*from(select StuID from Scores group by StuID having COUNT(*) = (select COUNT(*) from Course)) T1right join Students T2on T1.StuID=T2.StuIDwhere T1.StuID is null--11、查询至少学过“王丽秋”同学所学一门课的其他同学学号和姓名select Students.StuID as "学号",StuName as "姓名"from Students,Scoreswhere Students.StuID=Scores.StuID and Students.StuName != '王丽秋' and CourseId in (select CourseId from Scoresinner join Students on Students.StuID = Scores.StuIDwhere StuName = '王丽秋')存储过程:--存储过程(不带参数)create procedure up_GetAllComputerasselect * from Computergo--带参数的存储过程create procedure up_GetComputerByCondition(@condition nvarchar(100))asdeclare @sql nvarchar(max)set @sql='select * from Computer where '+@condition exec(@sql)exec up_GetComputerByCondition @style='华'exec up_GetAllComputer触发器:--为课程表建立插入触发器if OBJECT_ID('tgr_Course_insert','tr') is not null drop trigger tgr_Course_insertgocreate trigger tgr_Course_inserton Coursefor insertasdeclare @name nvarchar(10),@number intselect @name=CourseName from insertedselect @number=count(*) from Coursewhere CourseName=@nameif @number<>1rollback tran--回滚事务go--对学生建立一个插入触发器,不允许出现相同的邮箱if OBJECT_ID('tgr_Students_insert','tr') is not nulldrop trigger tgr_Students_insertGOcreate trigger tgr_Students_inserton Students for insertasdeclare @email varchar(50),@number intselect @email=StuEmail from insertedselect @number=count(*) from Studentswhere StuEmail=@emailif @number<>1rollback trango--对课程表建立修改触发器if OBJECT_ID('tgr_Course_update','tr') is not nulldrop trigger tgr_Course_updategocreate trigger tgr_Course_updateon Course for updateasDECLARE @name nvarchar(20),@number intselect @name=CourseName from insertedselect @number=count(*) from Coursewhere CourseName=@nameif @number<>1rollback trango--通过触发器阻止对学生表学号列的修改(列级修改触发器) if OBJECT_ID('tgr_Students_update','tr') is not nulldrop trigger tgr_Students_updategocreate trigger tgr_Students_updateon Students for updateasif update(StuId)rollback trango--删除触发器if OBJECT_ID('tgr_Course_delete','tr') is not nulldrop trigger tgr_Course_deletegocreate trigger tgr_Course_deleteon Course for deleteasif object_id('backupTable','u') is not nullinsert into backupTableselect * from deletedelseselect * into backupTable from deletedgoupdate Course setCourseName='物理'where CourseId='00001'insert into Course(CourseId,CourseName,Teacher) values('00009','化学','王二麻子')select * from Courseselect * from Scoresselect * from Studentsdelete from Course WHERE CourseId='00008'update Students set StuId='20111114'WHERE StuId='20111115'select * from backupTable相关函数使用:declare @age intdeclare @name nvarchar(10)set @age=10set @name= '张三abcde'print '我的年龄是:'+convert(varchar(10),@age)print '我的年龄是:'+cast(@age as varchar(10))print rtrim(ltrim(@name))print @nameprint charindex('张三',@name)print right(@name,len(@name)-charindex('a',@name)+1) print replace(@name,'张三','李四')print year(getdate())print datediff(dd,'2010-10-01',getdate())update Studentsset StuBronDate=dateadd(yy,10,StuBornDate)where StuName='王丽秋'print datename(dw,getdate())update abcdesetpwd=replace(REPLACE(pwd,'o','0'),'i','1')select ListNumberfrom exampleorder byLEFT(ListNumber,CHARINDEX('-',ListNumber)-1),RIGHT(ListNumber,LEN(ListNumber)-CHARINDEX('-',ListNumber)) declare @StuId CHAR(8),@StuName nvarchar(5)declare temp cursor forselect StuId,StuName from Studentsopen tempfetch next from temp into @StuId,@StuNamewhile @@FETCH_STA TUS=0beginselect @StuId,@StuNamefetch next from temp into @StuId,@StuNameendclose tempdeallocate temp。

SQL期末复习2013-2014学年第二学期 14

SQL期末复习2013-2014学年第二学期 14

SQL期末复习考核知识点:第一章:数据库的基础知识1)数据库概述:定义2)数据库系统:构成、核心3)关系模型:记录、属性、字段等概念第三章:SQL 的基础知识1)SQL的数据类型:基本类型的种类与使用方法2)标示符:自定义标示符的规则3)使用SQL语句管理与维护数据库:创建、修改、删除数据库的SQL语句4)使用SQL语句管理与维护表:创建、修改、更新、删除的操作5)利用简单的SQL语句进行表格数据的查询:简单select 语句第四章:SQL 高级查询1)关联表查询2)UNION子句的使用3)子查询(IN)与连接查询(LEFT/RIGHT/FULL JION)第五章:视图1)视图的概述2)创建视图、使用与维护视图第六章:索引1)索引的概述2)索引的分类第七章:T-SQL 程序设计1)T-SQL的变量类型与表示方法2)程序流程控制语句:(BEGIN END、IF ELSE、WHILE)第八章:函数1)系统内置函数2)自定义函数的使用第九章:存储过程、触发器和游标1)系统存储过程与自定义存储过程的使用2)触发器的概述与使用第十一章:SQL 数据库的安全性管理1)SQL的安全性机制2)登陆账号、用户账号、角色等概念的理解第十二章:数据的备份与恢复数据的备份方法与恢复期末复习综合测试题1. 数据库系统的核心是()。

A. 编译系统B. 数据库C.操作系统D.数据库管理系统2. 关系模型中的数据逻辑结构是()。

A. 矩阵B. 树C. 二维表D.矢量3. 关系数据库中的关键字是指( )。

A.能惟一决定关系的字段B.不可改动的专用保留字C.关键的很重要的字段 D能惟一标识元组的属性或属性集合4. 对所有视图都可以进行。

A.select B. insert C. update D. delete5. 学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是()。

A.多对多B.一对一C.多对一D.一对多6.若要删除数据库中已经存在的表S,可用()。

数据库期末复习总结

数据库期末复习总结

数据库期末复习总结数据库系统概论复习大纲一、课本主要内容:1、数据库的定义2、数据库系统的特点3、概念模型4、关系模型5、数据库的三级模式与二级映像功能6、关系的定义及主码、候选码、主属性、非码属性、全码等相关概念7、五种基本关系操作8、关系的三类完整性约束与关系的两个不变性9、关系代数10、第3章所有内容11、DAC和MAC机制的原理,grant及revoke语句12、可能破坏参照完整性的情况及违约处理13、触发器的执行顺序14、规范化的概念及各种范式的判断,即整个6.2节15、数据库设计的特点与步骤16、设计分E-R图应选择什么样的局部应用?有什么样的准则?17、视图集成时的三类冲突18、E-R图向关系模型的转换19、第8章简单了解20、第10章所有内容21、第11章所有内容二、所有布置的课后习题第一章(9,11,12,20,22)第二章(3,5,6)第三章(5)第四章(6,8,12)第五章(2,6)第六章(2,12)第七章(18,19)第十章(1,9,12)第十一章(6,7,9,10)三、第2章、第3章、第6章课堂综合练习题1、首先看查询的条件和结果中涉及到的属性列来自哪些表,将其归置到最少的表中查询。

若涉及多个表则需将表进行连接操作。

2、对于只涉及到选择、投影、连接的查询可用下列表达式表示:π...(σ... (R×S)) 或者π... (σ... (R S))3、对于否定的操作,一般用差操作表示。

如:“查询不学C2课程的学生姓名”一般用所有学生的姓名-选修C2课程的学生姓名4、对于查询具有“全部”特征的操作,一般要用除法操作表示。

例如:查询学习全部课程的学生学号,可用如下形式:π sno,cno(SC) ÷π cno(Course)5、设有三个关系:S(sno,sname,sex,age)SC(sno,cno,grade)C(cno,cname,teacher)试用关系代数表达式表示下列查询语句1、查询LIU老师所授课程的课程号和课程名2、查询年龄大于23岁的男学生的学号和姓名3、查询学号为S3学生所学课程的课程名与任课教师名4、查询至少选修LIU老师所授课程中一门课程的女学生姓名5、查询WANG同学不学的课程的课程号6、查询至少选修两门课的学生学号7、查询全部学生都选修的课程的课程号与课程名8、查询选修课程包含LIU老师所授全部课程的学生学号。

SQL数据库期末复习 (12)

SQL数据库期末复习 (12)

实验14 数据库维护
一、使用SQL Server Management Studio完成以下操作。

(截图)
1.创建逻辑名称为bak01的备份设备,将对应物理文件存放在系统默认路径。

2.对WebShop数据库(自行创建该数据库,里面新建一个表Goods,包含字段GoodsID
和GoodsName,数据自行输入几条即可)进行一次完整备份,备份到备份设备bak01中。

3.创建逻辑名称为bak02的备份设备,将对应物理文件存放在d:\data\bak中。

4.对WebShop数据库进行一次事务日志备份,备份到备份设备bak02中。

5.删除以上创建的备份设备和备份文件
二、使用T-SQL完成以下操作。

1.创建逻辑名称为bak01的备份设备,将对应物理文件存放在系统默认路径。

2.对WebShop数据库进行一次完整备份,备份到备份设备bak01中。

3.创建逻辑名称为bak02的备份设备,将对应物理文件存放在d:\bak中。

4.对WebShop数据库进行一次事务日志备份,备份到备份设备bak02中。

5.保存完成操作的T-SQL语句。

三、使用SQL Server Management Studio完成以下操作。

(截图)
①删除WebShop数据库的Users表。

②利用前面题目中的备份(bak01)恢复WebShop数据库到完整备份状态。

四、使用T-SQL语句完成以下操作。

①利用前面题目中的备份(bak02)恢复WebShop数据库的事务日志。

②保存完成操作的T-SQL语句。

五、完成课本第12章的工作实训营(截图)。

数据库复习资料(SQL)

数据库复习资料(SQL)

数据库复习资料第一章绪论:一、数据库相关基本概念:1系统中,凡是能被计算机存储并处理的数字、字符、图形和声音等统称为数据。

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

4护,借助于操作系统实现对数据的存储管理。

5二、数据库系统的概念、组成和模式结构(三级):1、概念:数据库系统指在计算机系统中引入数据库后的系统构成。

2、组成:①数据库(DB):数据库系统的操作对象;数据具有集中性和共享性。

②数据库管理系统(DBMS):负责对数据库进行管理的软件系统。

③用户:三类用户(最终用户、应用程序员、数据库管理员DBA)。

④计算机系统3、模式结构(三级):①模式(逻辑模式):数据库中全部数据的逻辑结构和特性的描述,是所有用户的公共视图。

它与具体的应用程序及使用的高级程序设计语言无关。

通常以某一种数据模型为基础。

②外模式(用户模式):是数据用户看到的数据视图,即与某一应用有关的数据的逻辑表示。

通常是模式的子集,不同用户的外模式的描述是不同的。

③内模式(存储模式):是数据在数据库系统内部的表示,即对数据的物理结构和存储方式的描述。

三、数据处理发展历史,尤其在数据库系统阶段,有哪些特点:1、手工处理阶段:数据的管理者:应用程序,数据不保存数据面向的对象:某一应用程序数据的共享程度:无共享、冗余度极大数据的独立性:不独立,完全依赖于程序数据的结构化:无结构数据控制能力:应用程序自己控制1.应用程序和数据之间的依赖性太强,独立性差。

2.数据和数据之间存在许多重复数据,造成大量数据冗余。

2、文件阶段:数据的管理者:文件系统,数据可长期保存数据面向的对象:某一应用程序数据的共享程度:共享性差、冗余度大数据的结构化:记录内有结构,整体无结构数据的独立性:独立性差,数据的逻辑结构改变必须修改应用程序数据控制能力:应用程序自己控制不同的应用程序很难共享同一数据文件,也就是说数据独立性仍然较差,数据冗余度较大。

SQL数据库期末考试 复习资料

SQL数据库期末考试 复习资料

1、数据库的发展阶段:人工管理、文件系统、数据库系统、以及分布式数据库系统等四个发展阶段。

2、联系分类:1对1、1对多(多对1)、多对多3、ER模型:矩形代表实体,菱形-联系,椭圆-属性,连线-关系4、数据库的逻辑数据模型主要有层次、网状、关系和对象四种。

关系数据模型是主流数据模型。

关系数据模型的特点:数据结构单一、采用集合运算、数据完全独立、数学理论支持。

5、数据库系统中具有数据库管理员、数据库设计员、应用程序设计员和终端用户四种。

6、数据库三层模式:最上层外模式(视图),中间层模式(全局模式),最下层内模式。

7、关系完整性包括实体完整性、参照完整性和用户定义的完整性三个方面。

8、数据库查询语言SQL具有数据定义、查询、更新和控制等四种主要的操作功能。

9、传统的集合运算包括并、交、差和笛卡尔积四种。

10、专门的关系运算包括选择、投影、连接和除四种。

11、第一范式:满足关系的最基本特性,即每个属性都是单值属性,不是复合属性。

第二范式:关系中不存在非主属性对候选码的部分依赖第三范式:关系中不存在非主属性对候选码的传递依赖,即所有非主属性都直接依赖于候选码。

12、SQL具有数据定义(DDL)、数据操纵(DML)、数据控制(DCL)。

在SQL中,每个关系叫做表,每个属性叫做列,每个元组叫做行。

视图叫做虚表。

13、在SQL中列级完整性约束包含六种:空/非空值、默认值、主码、单值、外码、检查;表级完整性约束包含四种:主码、单值、外码、检查。

14、在SQL新版的查询语句中,select、from、where选项分别实现投影、连接和选择运算。

15、数据页是组成数据文件的最小物理存储单位,而区间是操作系统分配存储空间的最小单位。

16、数据库创建use mastergo--创建数据库if exists(select * from sysdatabases where name='ConstructionDB')drop database ConstructionDBcreate database ConstructionDBon primary(name = 'ConstructionDB_data',filename='e:\db\ConstructionDB_data.mdf')log on(name = 'ConstructionDB_log',filename='e:\db\ConstructionDB_log.ldf')--删除数据库drop database ConstructionDB--创建表if exists(select * from sysobjects where name='学生')drop table 学生--修改表Alter table 学生 add 籍贯 char (6)Alter table 学生 drop籍贯--删除表Drop table 学生--表的插入Insert into 学生 () values()--表的修改Update 学生 set 年龄=年龄+1--表的删除Delete from 学生 where 年龄〉23--建立视图Create view 视图名(列名)as select语句--修改视图内容Updata 成绩视图表 set 成绩=80 where 学生号=‘0002’--修改视图定义Alter view 学生视图(学生号,姓名)as select 学生号,专业 from 学生--删除视图Drop view 成绩视图表17、--聚合函数select SUM(单价)as 总和, AVG(单价) as 平均价,MIN(单价) as 最低价,MAX(单价) as 最高价, from 商品表1select count(distinct 分类名)as 分类数 from 商品表18、--内连接中间连接select xs.学生号,姓名,课程号,成绩from 学生 xs inner join 成绩 cjon xs.学生号 = cj.学生号select xs.学生号,姓名,kc.课程名,成绩from 学生 xs inner join 成绩 cjon xs.学生号 = cj.学生号join 课程 kcon cj.课程号 = kc.课程号--左外连接select xs.学生号,xs.姓名,cj.课程号,cj.成绩from 学生 xs left join 成绩 cjon xs.学生号 = cj.学生号where 成绩 is not NULL--右连接select xs.学生号,xs.姓名,cj.课程号,cj.成绩from 成绩 cj right join 学生 xson xs.学生号 = cj.学生号use 商品库go--allselect * from 商品表1where 单价>all(select 单价 from 商品表1 where 分类名='洗衣机')select * from 商品表1where 单价>(select max(单价) from 商品表1 where 分类名='洗衣机')--any/someselect * from 商品表1where 单价>some(select 单价 from 商品表1 where 分类名='洗衣机')--between andselect * from 商品表1where 单价 between 1000 and 2000select * from 商品表1where 单价 >= 1000 and 单价<=2000--exists 例4-6-23use 教学库goselect * from 学生where not exists(select * from 成绩 where 学生.学生号 = 成绩.学生号)--特殊字符转义select * from 商品表1where 商品代号 like 'dsj[_]%'与下面相等select * from 商品表1where 商品代号 like 'dsjx_%' escape 'x'--区分大小写select * from 商品表1where 商品代号 collate Chinese_PRC_CS_AS like 'DSJ[_]%'19、--10查询出每种商品的总价值,并按降序排列出来select 分类名,SUM(单价*数量) 总价值 from 商品表1group by 分类名order by 总价值 desc(asc是升序)--11 查询出所有已被学生选修的课程select * from 课程where 课程号 in(select distinct 课程号 from 成绩)--12从教学库中查询出至少有两名学生所选修的全部课程select * from 课程where 课程号 in(select 课程号 from 成绩group by 课程号having COUNT(学生号)>1)--13从教学库中查询出至少选修了姓名为@m1学生所选课程中一门课程的全部学生select * from 学生where 姓名<>'王明' and exists(select y.课程号from 学生 x inner join 成绩 y on x.学生号=y.学生号where x.姓名='王明' and exists(select * from 成绩where 学生.学生号 = 成绩.学生号 and y.课程号 = 成绩.课程号))20、一个数据库应用系统的开发过程大致相继经过需求分析、概念设计、逻辑设计、物理设计、机器实现、运行维护等六个阶段。

sql数据库期末总结

sql数据库期末总结

sql数据库期末总结一、引言数据库是在计算机科学中非常重要的概念。

随着信息技术的不断发展,数据库的应用越来越广泛。

而SQL是结构化查询语言(Structured Query Language)的缩写,是一种特殊用途的编程语言,用于管理和操作关系型数据库。

在本学期的学习中,我从基本的SQL语句开始,逐步学习了SQL的各个方面,包括数据库的设计、表的创建以及查询和更新数据等。

通过这门课程的学习,我对SQL数据库有了更深入的理解和应用。

二、数据库设计1. 数据库范式在数据库设计中,我们应该遵循一定的规范来规划表结构,以确保数据的规范性和一致性。

数据范式是数据库规范化设计的重要概念,它将数据按照不同的规范进行划分,使得数据更加高效和方便地存储和管理。

2. 数据库表的设计在数据库中,表是存储数据的基本单位。

在设计表时,我们应该确定表的字段及其类型,并设置主键和外键,以确保数据的完整性和一致性。

在本学期的学习中,我掌握了创建表的语句,了解了不同数据类型的选择和如何设置主键和外键。

三、SQL查询1. 基本查询在SQL中,查询是最基本的操作之一。

通过SELECT语句,我们可以从数据库中获取所需的数据。

在查询中,我们可以使用WHERE子句来限制所查询的数据。

此外,我们还可以使用ORDER BY子句对查询结果进行排序。

2. 多表查询在实际应用中,常常需要从多个表中查询数据。

在SQL中,我们可以使用JOIN语句来实现多表查询。

JOIN语句根据不同的关联条件将多个表连接起来,从而实现数据的联合查询。

在本学期的学习中,我了解了不同类型的JOIN操作符,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN,并学会了在多表查询中使用它们。

四、SQL更新1. 插入数据在数据库中,插入数据是一种重要的操作。

通过INSERT INTO语句,我们可以向表中插入新的数据。

在插入数据时,我们需要确保插入的数据符合表结构和规范。

数据库期末考试复习知识点总结

数据库期末考试复习知识点总结

数据库期末考试复习知识点总结数据库期末考试复习知识点总结数据库是计算机科学领域中非常重要的一个概念,它用于管理和组织数据。

在现代信息技术时代,数据库的应用变得越来越广泛,几乎涉及到所有行业和领域。

而作为数据库专业的学生,在期末考试前进行一次全面系统的复习是至关重要的。

本文将围绕数据库的核心概念、数据库设计、数据库管理系统以及数据库查询语言等方面进行复习知识点总结。

第一部分:数据库的核心概念数据库是以特定方式组织的、存储数据的集合。

在数据库中,数据以表的形式组织,每个表包含多行多列的数据,每行代表一个记录,每列代表一种属性。

数据库的核心概念包括: 1. 数据库模型:数据库模型是定义数据如何在数据库中组织和存储的方案。

常见的数据库模型包括层次模型、网状模型和关系模型。

其中,关系模型是最常用的,使用表格和关系的方式组织数据。

2. 关系型数据库:关系型数据库是基于关系模型的数据库管理系统。

其中,最常用的关系型数据库管理系统包括MySQL、Oracle、SQL Server等。

关系型数据库使用SQL语言进行数据操作。

3. 数据库管理系统(DBMS):数据库管理系统是用于管理和操作数据库的软件系统。

它提供了数据的增删改查等操作,同时还具备数据一致性、安全性和完整性等特性。

第二部分:数据库设计数据库设计是指按照一定的规范和原则,将现实世界的数据转化为数据库模式的过程。

数据库设计的核心内容包括:1. 数据库需求分析:根据用户的需求,确定数据库的功能和应用场景。

需求分析是数据库设计的第一步,可以通过调研、访谈等方式进行。

2. 概念设计:概念设计是根据需求分析结果,抽象出数据库的逻辑结构和关系模式。

在概念设计中,需要确定实体、属性、关系等概念,并使用ER图进行可视化表示。

3. 逻辑设计:逻辑设计是将概念设计转化为关系模型的过程。

在逻辑设计中,需要使用关系模式表示实体和关系,确定关系的主键和外键关系。

4. 物理设计:物理设计是将逻辑设计转化为数据库的具体实现方案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

※※第一章1、什么是数据、数据库、数据库管理系统、数据库系统。

数据(Data):描述事物的符号记录称为数据。

(数据是数据库中存储的基本对象。

)有数字、文字、图形、图象、声音、文本等,数据和语义是不可分的。

数据库(Database,简称DB):数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。

基本特征:数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

三个基本特点:永久存储、有组织、可共享。

数据库系统(Database System,简称DBS);计算机系统中引入数据库后的系统。

一般由数据库、数据库管理系统(及开发工具)、应用系统、数据库管理员(DBA)构成。

特点:数据结构化;数据的共享性高,冗余度低,日扩充;数据独立性高;数据由DBMS统一管理和控制。

使用数据库系统好处:大大提高应用开发效率,方便用户使用,减轻数据库系统管理人员维护负担。

数据库管理系统:(DBMS)位于用户和操作系统之间的一层数据管理软件,用于科学的组织和存储数据、高效的获取和维护数据。

DBMS功能:数据定义功能;数据组织、存储和管理;数据操纵功能;数据库的事务管理和运行管理;数据库的建立和维护功能;其他功能。

2、数据管理技术的生产和发展经历的几个阶段。

数据管理:是指对数据进行分类、组织、编码、存储、检索和维护,数据处理的中心问题。

人工管理阶段(20世纪40年代中--50年代中);文件系统阶段(20世纪50年代末--60年代中);数据库系统阶段(20世纪60年代末--现在)。

数据仓库阶段。

3、数据库模型与三个组成要素(数据库结构、数据库操作、完整性约束)。

数据模型定义:它是对现实世界数据特征的抽象,是用来描述数据、组织数据和对数据进行操作的。

数据模型三个组成要素:数据结构:描述数据库的组成对象,以及对象之间的联系,对系统静态特性的描述,如树型、网状,关系结构。

数据操作:对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则。

完整性约束条件:数据的完整性约束条件,一组完整性规则的集合。

三大数据模型:a.概念模型:也称信息模型,它是按用户的观点来对数据和信息进行建模,用于数据库设计。

b.逻辑模型:按计算机系统的观点对数据建模,用于DBMS实现。

c.物理模型:对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法,在磁盘或磁带上的存储方式和存取方法。

4、E-R图,模式的概念及分类。

P31E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。

构成E-R图的基本要素是实体型、属性和联系。

模式:是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。

模式的一个具体值称为模式的一个实例。

同一个模式可以有很多实例。

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

数据库系统的结构分为:单用户结构、主从式结构、分布式结构、客户/服务器、浏览器/应用服务器/数据库服务器多层结构等。

概念模式=外模式=用户模式=子模式;逻辑模式=模式;物理模式=内模式=存储模式。

模型定义:是对现实世界中某个对象特征的模拟和抽象。

P12模型分类:第一类是概念模型;第二类是逻辑模型和物理模型。

5、数据领域中最常用的逻辑数据模型。

P18(1)层次模型(Hierarchical Model);(2)网状模型(Network Model);(3)关系模型(Relational Model);(4)面向对象模型(Object Oriented Model);(5)对象关系模型(Object Relational Model);※※第二章1、关系的七个概念、三种基本类型。

P44答:(1)关系Relation:一个关系对应通常说的一张二维表。

(2)元组:表中的一行。

(3)属性:表中的一列。

(4)码Key:也称为骂键,表中的某个属性组,它可以唯一确定一个元组,如学号。

(5)域Domain:属性的取值范围,如性别(男,女),年龄1~150等。

(6)分量:元组(行)中的一个属性值。

(7)关系模式:对关系的描述。

关系的三种类型:基本表:实际存在的表,是实际存储数据的逻辑表示。

查询表:查询结果对应的表。

视图表:由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。

2、连接运算的分类,9种如何分类。

P579种如何分类:(1)等值、非等值连接;自然连接;(2)自身连接;(3)内外链接(内连接;左外连接;右外连接;全连接);(4)复合条件链接(5)交叉连接。

3、外码、参照关系R和被参照关系S。

P50外码:设F是基本关系R的一个或一组属性,但不是关系R的码。

如果F 与基本关系S的主码Ks相对应,则称F是基本关系R的外码。

基本关系R称为参照关系(Referencing Relation)。

基本关系S称为被参照关系Referenced Relation)或目标关系(TargetRelation)。

4、关系模型中常用的关系操作(或运算)。

P47答:查询(Query)操作、插入(Insert)、删除(Delete)、修改(Update)。

5、数据模型的三个组成部分:关系数据结构、关系操作集合和完整性约束。

6、列举传统的集合运算,专门的关系运算。

P53传统:是二目运算,包括并(Union)、差(Except)、交(Intersection)、笛卡尔积(Cartesian Product)四种运算。

专门:选择(Selection)、投影(Projection)、连接(Join)、除(Division)运算等。

※※第三章1、SQL查询分类(单表、连接、嵌套、集合)。

P91、104、112单表查询:是指仅涉及一个表的查询。

嵌套查询:嵌套查询中一个select-from-where语句称为一个查询块,将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询称为嵌套查询。

集合查询:集合查询主要包括并操作union、交操作intersect和差操作except。

2、SQL核心功能有哪四类?(SQL 核心功能可以分为:数据查询、数据定义、数据操纵和数据控制四类)每类动词有哪些?P81数据查询:select;数据定义:create创建、drop删除、alter修改;数据操纵:insert插入元组、update修改某一元组、delete删除;数据控制:grant、revoke撤销。

3、T-SQL语言建立表,添加记录,查询等。

Create database 学生_课程;Create table Student ;Created view 视图名。

Insert into Student(Sno,Sname,Ssex,Sage,Sdept) values(‘2000215121’,’李勇’,’男’,20,’CS’)Selection Sno,Sname From Student4、连接查询的分类。

P100答:等值与非等值连接查询、自然连接;自身连接;内外外连接;复合条件连接。

5、视图的概念。

P118答:视图是从一个或几个基本表(或视图)导出的表。

优点:(1)视图能够简化用户操作。

(2)视图使用户能多角度看待同一数据。

(3)视图对重构数据库提供一定程度的逻辑独立性。

(4)视图能够对机密数据提供安全保护。

6、DDL和DML学生-课程数据库中的三个表。

DDL:数据库模式定义语言,create , drop , alter;DML:数据操作语言,insert , update , delete。

(填空)P135 用户标识:用一个用户名(User Name)或者用户标识号(UID)来标明用户身份。

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

※※第五章:1、数据完整性定义和分类(实体、参照、用于定义),DBMS是如何维护数据库的完整性。

P152数据库的完整性:是指数据的正确性和相容性。

DBMS需要:提供定义完整性约束条件的机制;提供完整性检查的方法;违约处理。

2、参照完整性及违约处理。

P154答:拒绝(NO ACTION)执行默认策略;级联(CASCADE)操作;设置为空值(SET-NULL);对于参照完整性,除了应该定义外码,还应定义外码列是否允许空值。

3、七种约束。

答:主码约束、外码约束、非空约束、唯一约束、缺省约束、检查约束、用户自定义约束。

※※第六章:1、四种常见的范式及关系,判断范式。

第一范式(1NF);第二范式(2NF);第三范式(3NF);BC范式(BCNF)。

关系:5NF⊂4NF⊂BCNF⊂3NF⊂2NF⊂1NF2、数据依赖、函数的概念(存在且唯一)及函数依赖分类。

数据依赖:是一个关系内部属性与属性之间的一种约束关系,是通过属性值之间的依赖关系体现。

函数依赖的分类:平凡函数依赖与非平凡函数依赖;完全函数依赖与部分函数依赖;传递函数依赖。

3、关系模式的依赖关系。

4、学生—课程数据库中的三个表函数依赖、传递函数依赖和范式的判断。

函数依赖定义:设R(U)是一个属性集上的关系模式,X和Y是U的子。

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

若X→Y,但Y不是X的子集,则称X→Y是非平凡的函数依赖。

若X→Y,但Y是X的子集,则称X→Y是平凡的函数依赖。

例:在关系SC ( Sno , Cno , Grade )中。

(Sno , Cno)→Grade为非平凡,(Sno , Cno)→Sno 与(Sno , Cno)→Cno都为平凡。

完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集A,都有A不确定Y,则称Y对X完全函数依赖。

记作X—→Y。

部分函数依赖:若X→Y,但Y不完全函数依赖于X,则称Y对X部分函数依赖,记作X→Y。

例如:(Sno , Cno)→Grade是完全依赖;(Sno , Cno)→Sdept是部分依赖,因为Sno→Sdept成立,且Sno是(Sno , Cno)的真子集。

传递函数依赖:在R(U)中,如果X→Y,(Y不是X的子集),Y不能确定X,Y→Z,则称Z对X传递函数依赖。

记为:X—→Z。

例如:在关系Std (Sno , Sdept , Mname )中,有Sno→Sdept ,Sdept→Mname成立,所以Sno—→Mname。

2NF:如R属于1NF,且每一个非主属性完全函数依赖于码,则R属于2NF。

3NF:关系模式R< U , F >中若不存在这样的码X,属性组Y及非主属性Z (Z 不包含于Y )使得X→Y,Y→Z成立,Y不确定X,则称R< U , F >属于3NF。

相关文档
最新文档