[VIP专享]数据库期末复习资料
- 格式:pdf
- 大小:141.89 KB
- 文档页数:8
《数据库原理》期末考试复习要点(注意:复习时以平时上课内容为要点,掌握数据库的基本概念、基本操作)第1章绪论1.数据、数据库、数据库管理系统、数据库的基本概念。
2.数据库管理技术的发展过程。
3.数据库系统的特点(结构化、共享、独立性、控制功能),数据库系统与文件系统的区别?4.数据模型的三要素及其含义。
5.数据模型的类型,每一种模型的特点。
6.DBMS提供的各种语言(DDL,DML,DCL),每一种语言的功能。
7.DBMS提供的语言有几种使用方式。
8.数据库系统的三级模式、两级映射、数据库逻辑独立性与物理独立性的作用。
9.ER图的完整画法。
(本章必须掌握数据库的基本内容)第2章关系数据库1.关系数据库语言的种类。
2.数据完整性的含义、约束的类型、空值的含义3.关系的基本性质4.关系模型的型与值、关系模型的特点。
5.集合运算(差、笛卡儿乘积)6.关系运算(连接、等值连接、自然连接)7.关系代数的五种基本运算(掌握关系数据库的基本情况及关系代数的运算)第3章关系数据库标准语言SQL1.SQL语言的基本特点与主要功能2.熟练记录的插入、删除、修改命令。
3.索引及其类型、如何创建索引。
4. 视图的概念与作用。
5.熟练掌握SQL的各种查找及函数的使用、各种SQL子句(如:GROUP BY;HA VING;ORDER BY等)的使用(注意:SQL中的过程、触发器、游标暂时不作为本次考试的内容,本章SQL操作题复习时要重点强化)第6章关系数据理论1.函数依赖与完全函数依赖、部分函数依赖、传递函数依赖的分析。
2.码、候选码、主码、主属性、非主属性、全码、外码。
3.范式(1NF、2NF、3NF、BCNF)的特征及转换方法。
4.闭包及其计算、Armstrong推理规则。
(注:弄清基本概念,学会分析问题、解决问题)第7章数据库设计1.数据库设计的步骤,设计中每一个环节的要领。
2.实体之间的联系类型(1:1、1:n、m:n)3.E-R图转换为关系模型的原则4.概念模型、逻辑模型数据库设计中的作用(重点掌握数据库的逻辑设计。
复习资料1、所谓数据库就是存放数据的地方,是需要长期存放在计算机内的、有组织的,、可共享的_的数据集合。
2、数据库可以使用多种类型的系统模型,常见的有层次模型_,网状模型、和关系模型。
_3、所谓关系数据库就是基于关系模型的数据库,在计算机中,关系数据库是数据和数据库对象_4、数据表中的行通常叫做记录或元组它代表众多具有相同属性的对象中的一个。
5、数据表中的列通常叫做字段或属性,它代表相应数据表中存储对象的共有属性。
6、关系模型提供可3种完整性规则:实体完整性、参照完整性、和用户自定义完整性。
7、在关系模型中存在4类完整性:_实体完整性、空值、参照完整性、和用户自定义完整性。
8、第一范式是最基本的范式。
如果关系模式中的所有属性值都是不可再分的_原子值,那么就称这中关系模式是第一范式的关系模式。
9、实体是现实世界中描述客观事物的概念,同一类实体的所有实例就构成该对象的_实体集,10、实体之间的这种关联关系可以分为3种:一对一关系、一对多关系、和多对多关系。
11、在一个SQL Server 2005数据库中可以使用3种类型的文件来存储信息,分别是:_主数据库文件、辅助数据库文件、和事务日志文件。
_12、表是关系模型中表示实体的方式,是用来_组织和存储数据、具有行列结构_的数据库对象,数据库中的数据或者信息都存储在表中。
13、通常情况下,表具有以下特点:代表_实体、由行和列组成、列名在一个表中是唯一的__、行和列的顺序是不重要的等。
14、在SQL Server 2005创建数据库的方法有两种:一是通过__图形化向导、创建,二是通过编写Transact-SQL 语句创建。
15、在SQL Server 2005系统中,可以把表分为4种类型,即普通表、分区表、临时表和系统表。
16、主键约束使用数据表中的一列数据或者多列数据来唯一的标识一行数据。
17、索引是一个单独的、物理的数据库结构,它是某个表中一列或者若干列的集合和相应的指向表中物理标识这些的数据页的逻辑指针清单。
数据库1、数据(Data):数据库中存储的基本对彖,描述事物的符号记录称为数据。
P32、数据库(DataBase ,简称DB ):数据库是长期储存在计算机内的、有组织的、可共亨的数据集合。
P43、数据库管理系统DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。
P54、数据库系统的组成部分:数据库、数据库管理系统、应用系统、数据库管理员P55、数据管理的三个阶段:人工管理阶段、文件系统阶段、数据库系统阶段P66、两类数据模型:笫一类是概念模型,第二类是逻辑模型和物理模型P127、数据模型通常由数据结构、数据操作和完整性约束三部分组成。
P138、实体:客观存在并可以相互区分的事物叫实体。
P159、属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。
P1510、码:惟-标识实体的属性集称为码。
P1511、域:是一组具有相同数据类型的值的集合。
P1512、实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。
P1513、实体集:同型实体的集合称为实体集。
P1514、联系:在现实世界中,事物内部及事物Z间是冇联系的,这些联系在信息世界中反映为实休内部的联系和实体之间的联系。
P1515、实体联系图(E — R图):提供了表示实体型、属性和联系的方法:・实体型:用矩形表示,属性:用椭圆形表示,联系:用菱形表示试给出3个实际部门的E - R图, 要求实体型Z间具有一对一、一对多、多对多各种不同的联系。
P16答:16、数据库系统的三级模式结构是指数据库系统市外模式、模式、内模式三级构成。
P31 模式,亦称逻辑模式,是数据库屮全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。
P3217、数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。
18、一个数据库只有一个模式,可以有多个外模式,只有一个内模式。
第一章绪论1、数据(Data):数据是数据库中存储的基本对象;数据的定义:描述事物的符号记录;数据的种类:文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等;数据的含义称为数据的语义,数据与其语义是不可分的。
2、数据库(Database,简称DB):定义:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征:1) 数据按一定的数据模型组织、描述和储存;2) 可为各种用户共享、易扩展、冗余度较小;3) 数据独立性较高。
数据库具有永久存储、有组织和可共享三个基本特点。
3、数据库管理系统(DBMS):数据库管理系统是位于用户与操作系统之间的一层数据管理软件。
主要功能:1) 数据定义功能;2) 数据组织、存储和管理;3) 数据操纵功能;4) 数据库的事务管理和运行管理;5) 数据库的建立和维护功能;6) 其他功能。
4、数据库系统(DBS):定义:数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员系统构成。
5、数据库技术的产生和发展:三个阶段:人工管理阶段、文件系统、数据库系统。
6、数据库系统的特点:1) 数据结构化:不仅数据内部结构化,整体也是结构化的;2) 数据的共享性高,冗余度低,易扩充;3) 数据独立性高(物理逻辑性和逻辑独立性);物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。
当数据的物理存储改变了,应用程序不用改变。
逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。
数据的逻辑结构改变了,用户程序也可以不变。
数据独立性是由DBMS的二级映像功能来保证的4) 数据由DBMS统一管理和控制。
7、数据模型:(1)数据模型是数据库系统的核心和基础;(2)两类数据模型:第一类是概念模型,第二类是逻辑模型和物理模型;(3)数据模型的组成要素:数据结构、数据操作和完整性约束;)概念模型的基本概念:4(1) 实体(Entity):客观存在并可相互区别的事物称为实体。
《数据库系统原理》期末复习资料第一章绪论复习要点:数据库的4个基本概念(数据、数据库、数据库管理系统和数据库系统);数据库系统的特点;数据模型及数据模型的三要素;关系模型;数据库系统结构:三级模式和两级映像(模式、外模式和内模式;外模式/模式映像、模式/内模式映像);关系数据库系统的组成(数据库、数据管理系统和数据库系统的关系)。
数据库的4个基本概念:1. 数据(Data):是描述事物属性或特征的符号记录,可以是数字、文字、图像等形式。
2. 数据库(Database):是一种有组织的、可共享的数据集合,用于存储、管理和操作数据。
3. 数据库管理系统(Database Management System,简称DBMS):是用于管理数据库的软件系统,提供了对数据库的访问、操作和维护等功能。
4. 数据库系统(Database System):是由数据库、数据库管理系统和相关应用程序组成的系统,用于管理和处理大量数据。
数据库系统的特点:1. 数据共享:多个用户可以同时访问和共享数据库中的数据。
2. 数据独立性:数据库中的数据与数据的存储方式相互独立,改变存储方式不影响数据的使用。
3. 数据一致性:数据库系统能够保证数据的一致性和完整性,避免了数据的冗余4. 数据安全性:数据库系统可以对数据进行各种权限控制和安全防护,保证数据的安全性和机密性。
5. 数据并发性:多个用户可以同时对数据库进行读写操作,数据库系统能够处理并发操作的问题。
数据模型及数据模型的三要素:数据模型是一种用于描述数据库结构和数据之间关系的概念工具。
数据模型的三个要素包括:1. 数据结构(Data Structure):描述数据之间的关系和组织方式,如层次结构、网状结构和关系结构等。
2. 数据操作(Data Operation):描述在数据库中进行的各种操作,如查询、插入、更新和删除等。
3. 数据约束(Data Constraint):定义了对数据库中数据的限制和规范,如键、域和实体完整性等。
数据库期末复习题数据库期末复习题数据库是现代信息系统中不可或缺的一部分,它用于存储和管理大量的数据。
在数据库的学习过程中,期末复习题是一种非常有效的复习方式。
本文将通过一些例题,对数据库的相关知识进行复习和总结。
一、数据库的基本概念数据库是一个有组织的、可共享的、可持久化的数据集合。
它由数据、数据结构和数据操作组成。
数据库的基本特点包括数据的独立性、数据的共享性、数据的持久性和数据的安全性。
1. 数据库的独立性是指什么?为什么要实现数据的独立性?数据库的独立性是指应用程序与数据的逻辑结构和物理结构之间的独立性。
实现数据的独立性可以提高系统的灵活性和可维护性。
当数据库的逻辑结构发生变化时,只需要修改与之相关的逻辑模块,而不需要修改整个系统。
2. 数据库的共享性是指什么?为什么要实现数据的共享性?数据库的共享性是指多个用户可以同时访问和使用数据库中的数据。
实现数据的共享性可以提高数据的利用率和工作效率。
不同用户可以根据自己的需求,通过数据库系统对数据进行查询、插入、更新和删除等操作。
3. 数据库的持久性是指什么?为什么要实现数据的持久性?数据库的持久性是指数据在数据库中的存储是永久的,不会因为系统的关闭或断电而丢失。
实现数据的持久性可以保证数据的安全性和可靠性。
即使系统发生故障,也可以通过数据库的备份和恢复机制来恢复数据。
4. 数据库的安全性是指什么?为什么要实现数据的安全性?数据库的安全性是指对数据库中的数据进行保护,防止未经授权的访问和使用。
实现数据的安全性可以保护数据的机密性、完整性和可用性。
只有经过授权的用户才能对数据库进行操作,确保数据的安全和合法性。
二、数据库的设计与规范化数据库的设计是数据库系统的核心工作之一,它决定了数据库的结构和性能。
规范化是数据库设计的重要步骤,它通过消除冗余和提高数据的一致性来优化数据库的设计。
1. 什么是冗余?为什么要消除冗余?冗余是指在数据库中存在重复的数据。
1.数据(DATA):数据库中存储的基本对象。
2.数据库(DB):是长期储存在计算机内、有组织的、可共享的大量数据集合。
3.数据库管理系统(DBMS):是位于用户与操作系统之间的一层数据管理软件,可以科学地组织和存储数据、高效地获取和维护数据。
4.数据库系统(DBS):是指在计算机系统中引入数据库后的系统构成。
5.数据管理技术的发展阶段:人工管理阶段、文件系统阶段、数据库系统阶段和高级数据库技术阶段等各阶段的特点.6.数据模型数据模型的定义,两类数据模型,逻辑模型的形式定义,层次模型、网状模型、关系模型和面向对象模型的数据结构以及联系的实现方式。
6.cassandra face book:分布式数据库7.数据库系统四个数据控制功能:数据并发控制(锁),数据库恢复,数据库的完整性,数据库安全(保护数据之间的关系)。
8.数据库的三级体系结构:外模型,概念模型,内模型。
9.数据库安全性:10.SQL:结构化查询语言,用于数据库中的标准数据查询语言。
主要包括三种程序设计语言类别:数据定义语言(DDL(create,drop,alter)),数据操作语言(DML(insert,update,delete,commit,rollback)),数据控制语言(DCL(grank,revoke)).11.约束:约束就是指对插入数据的各种限制,约束可以对数据库中的数据进行保护。
约束包括:NOT NULL,UNIQUE(唯一性),PRIMARY KEY(主键),FOREIGN KEY(外键)以及CHECK(限定取值范围)(check (age between 18 and 20))等5种类型。
12.视图(view):视图是一种特殊的表(虚拟表),它其实质就是一条查询语句的别名,而这个表的数据,就是这条查询语句所查询的结果。
视图在数据库中没有实际的存储数据,数据是查询时生成的。
13.索引(Index):是用于提高数据库表数据访问速度的数据库对象。
数据库期末复习题# 数据库期末复习题## 第一部分:数据库基础1. 数据库的定义:- 简述数据库的定义及其重要性。
2. 数据库管理系统(DBMS):- 描述DBMS的功能和常见类型。
3. 数据模型:- 解释数据模型的概念,并列举常见的数据模型。
4. 关系数据库的特点:- 列出关系数据库的三个主要特点。
5. SQL语言:- 说明SQL语言的基本功能和常用命令。
## 第二部分:关系数据库设计1. 实体-关系模型(ER模型):- 描述ER模型的组成部分及其在数据库设计中的应用。
2. 规范化:- 解释规范化的概念及其目的。
3. 函数依赖:- 定义函数依赖,并说明其在规范化过程中的作用。
4. 范式:- 列举至少三种范式,并简述它们的区别。
5. 反规范化:- 讨论反规范化的原因和使用场景。
## 第三部分:SQL查询与操作1. SELECT语句:- 描述SELECT语句的基本语法和常用子句。
2. 数据更新:- 说明INSERT、UPDATE和DELETE语句的用法。
3. 数据聚合:- 列举常见的聚合函数及其作用。
4. 连接操作:- 描述内连接、外连接和交叉连接的区别。
5. 子查询:- 解释子查询的概念及其在SQL查询中的应用。
## 第四部分:数据库的高级主题1. 事务:- 定义事务并说明其ACID属性。
2. 并发控制:- 描述并发控制的基本概念和常见策略。
3. 索引:- 说明索引的作用和类型。
4. 视图:- 定义视图并讨论其在数据库中的应用。
5. 存储过程和触发器:- 描述存储过程和触发器的功能及其用途。
## 第五部分:数据库安全性1. 用户身份验证:- 解释用户身份验证的概念和方法。
2. 访问控制:- 描述访问控制的类型和实现方式。
3. 数据加密:- 说明数据加密的重要性和基本方法。
4. 备份与恢复:- 讨论数据库备份和恢复的策略。
5. 审计和合规性:- 描述审计的作用和合规性在数据库管理中的重要性。
## 第六部分:数据库性能优化1. 查询优化:- 讨论查询优化的策略。
1、查询全体学生姓名,学号,性别SELECT 学号,姓名,性别FROM XSQK2、查询学生全部信息SELECT *FROM XSQK3、查询选修了课程的学生的学号SELECT 学号FROM XS_KCGROUP BY 学号4、查询全体学生的姓名(将姓名改为NAME),学号,性别SELECT DISTINCT 姓名NAME,学号,性别FROM XSQK1二、条件查询1、查询选修课程为101的学生的学号和成绩SELECT 学号,成绩FROM XS_CKWHERE 课程号=101用课本作业做:2、查询分数在70分以上的学生选课信息,并按成绩降序排列SELECT *FROM SCWHERE GR>70ORDER BY GR DESC3、在SC表中按学号分组汇总学生的平均分,并按平均分的降序排列。
SELECT S#,平均分=AVG(GR)FROM SCGROUP BY S#ORDER BY 平均分 DESC或SELECT S#,A VG(GR)AS 平均分FROM SCGROUP BY S#ORDER BY 平均分DESC4、在SC表中查询选修了3门以上课程的学生学号。
SELECT S#FROM SCGROUP BY S#HA VING COUNT(*)>35、按学号对不及格的成绩记录进行明细汇总。
SELECT S#,C#,GRFROM SCWHERE GR<60ORDER BY S#COMPUTE COUNT(GR)BY S#6、分别用子查询和连接查询,求107号课程不及格的学生信息。
子查询:SELECT 学号,姓名,联系电话FROM XSQKWHERE 学号IN(SELECT 学号FROM XS_KCWHERE 课程号='107' AND 成绩<60)连接查询:SELECT XSQK.学号,姓名,联系电话FROM XSQKJOIN XS_KC ON XSQK.学号=XS_KC.学号WHERE 课程号='107'AND 成绩<607、用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同SELECT A.学号,A.姓名,A.联系电话FROM XSQK AJOIN XSQK B ON A.联系电话=B.联系电话WHERE A.学号<>B.学号8、查询XSQK表中所有系名SELECT DISTINCT 所在系FROM XSQK9、查询有多少同学选修了课程。
数据库期末考试复习题库(非常全面)第一部分第一章:一选择题:1 •在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
在这几个阶段中,数据独立性最高的是阶段。
A •数据库系统B •文件系统C •人工管理D •数据项管理答案:A2. _____________________________________________ 数据库的概念模型独立于____________________________________________________ 。
A. 具体的机器和DBMS B . E-R图C •信息世界D •现实世界答案:A3. ______________________________________ 数据库的基本特点是。
A . (1)数据可以共享(或数据结构化) ⑵数据独立性⑶数据冗余大,易移植(4)统一管理和控制B . (1)数据可以共享(或数据结构化) ⑵数据独立性⑶数据冗余小,易扩充(4)统一管理和控制C . (1)数据可以共享(或数据结构化) ⑵数据互换性⑶数据冗余小,易扩充(4)统一管理和控制D . (1)数据非结构化(2)数据独立性⑶数据冗余小,易扩充(4)统一管理和控制答案:B4. ________________ 是存储在计算机内有结构的数据的集合。
A. 数据库系统B.数据库C•数据库管理系统 D •数据结构答案:B5. ___________________________________ 数据库中存储的是。
A. 数据 B •数据模型C•数据以及数据之间的联系 D •信息答案:C6. __________________________________________________ 数据库中,数据的物理独立性是指____________________________________________ 。
A. 数据库与数据库管理系统的相互独立B. 用户程序与DBMS勺相互独立C. 用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D. 应用程序与数据库中数据的逻辑结构相互独立答案:C7..数据库的特点之一是数据的共享,严格地讲,这里的数据共享是扌旨。
试题一一、单项选择题(本大题共20小题,每小题2分,共40分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选 或未选均无分。
1.数据库系统的核心是(B)A •数据库B •数据库管理系统C .数据模型D .软件工具2. 下列四项中,不属于数据库系统的特点的是( C ) A •数据结构化 B •数据由DBMS 统一管理和控制 C .数据冗余度大D .数据独立性高3. 概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是 (D ) A •层次模型 B •关系模型 C .网状模型D •实体-联系模型4.数据的物理独立性是指( C )A •数据库与数据库管理系统相互独立B •用户程序与数据库管理系统相互独立C •用户的应用程序与存储在磁盘上数据库中的数据是相互独立的D •应用程序与数据库中数据的逻辑结构是相互独立的5・要保证数据库的逻辑数据独立性,需要修改的是(A )A •模式与外模式之间的映象B •模式与内模式之间的映象C .模式D •三级模式6・关系数据模型的基本数据结构是( D )A.树B .图C .索引D .关系7・ 有一名为“列车运营”实体,含有:车次、日期、实际发车时间、实际抵达 时间、情况摘要等属性,该实体主码是( C )A.车次 B .日期 C .车次+日期D .车次+情况摘要8.己知关系R 和S , R A S 等价于(B )A. ( R-S)-S C. (S-R)-R9. 学校数据库中有学生和宿舍两个关系:学生(学号,姓名)和 宿舍(楼名,房间号,床位号,学号)假设有的学生不住宿,床位也可能空闲。
如果要列出所有学生住宿和宿舍分 配的情况,包括没有住宿的学生和空闲的床位,则应执行( A )A.全外联接 C.右外联接10. 用下面的T-SQL 语句建立一个基本表:CREATE TABLE Student (Sno CHAR (4) PRIMARY KEY,Sname CHAR (8) NOT NULL, Sex CHAR ( 2), Age INT )可以插入到表中的元组是( D )D. '5021','刘祥',NULL , NULL11. 把对关系SPJ 的属性QTY 的修改权授予用户李勇的 T-SQL 语句是( CA. GRANT QTY ON SPJ TO '李勇’B. GRANT UPDA TE(QTY) ON SPJ TO '李勇'C. GRANT UPDA TE (QTY) ON SPJ TO 李勇D. GRANT UPDA TE ON SPJ (QTY) TO 李勇13•关系规范化中的插入操作异常是指A •不该删除的数据被删除 C .应该删除的数据未被删除14•在关系数据库设计中,设计关系模式是数据库设计中( A )阶段的任务A .逻辑设计B •物理设计C .需求分析D •概念设计B. S-(S-R) D. S-(R-S)B.左外联接 D.自然联接A. '5021','刘祥',男,21B. NULL ,'刘祥',NULL ,21 C. '5021', NULL ,男,21 (D )B .不该插入的数据被插入 D .应该插入的数据未被插入15. 在E-R 模型中,如果有 3个不同的实体型,3个m:n 联系,根据E-R 模型转 换为关系模型的规则,转换后关系的数目为( C )。
数据库复习资料一、选择题:1.信息的三个领域是。
A.现实世界.信息世界和机器世界B.事物.对象和性质C.实体.对象和属性D.数据.记录和字段2. 是长期存储在计算机内部有组织,可共享的数据集合。
A.数据库管理系统B.数据库系统C.数据库D.文件组织3.在数据库系统阶段,数据是。
A.有结构的B.无结构的C.整体无结构,记录内有结构D.整体结构化4. 是属于信息世界的模型,实际上是现实世界到机器世界的一个中间层次。
A.数据模型B.概念模型C.物理模型D.关系模型5.SQL语言属于。
A.关系代数语言B.元组关系演算语言C.域关系演算语言D.具有关系代数和关系演算双重特点的语言6.实体完整性要求主属性不能取空值,这一点可以通过来完成。
A.定义外码B.定义主码C.用户定义的完整性D.由关系系统自动7.集合R和S的差表示成。
A.{t|t∈R∨t∈S}B.{ t|t∈R∧t¬∈S }C.{ t|t∈R∧t∈S }D.{ t∈R∨t¬∈S }8.SQL语言具有功能。
A.关系规范化.数据操纵.数据控制B.数据定义.数据操纵.数据控制C.数据定义.关系规范化.数据控制D.数据定义.关系规范化.数据操纵9.规范化理论是为了解决关系数据库中的问题而引入的。
A.插入异常.删除异常.数据冗余B.减少数据库操作的复杂性C.提高查询速度D.保证数据的安全性和完整性10.如果A→B,那么属性A和属性B的联系是。
A.一对多B.多对一C.多对多D.以上都不是11.数据库系统设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,这是数据库设计的阶段。
A.需求分析B.概念设计C.逻辑设计D.物理设计12.在E-R模型向关系模型转换时,1:N的联系转换成关系模式时,其关键字是。
A.1端实体的主码B.n端实体的主码C.1,n端实体主码的组合D.重新选取其他属性13.局部E-R图转换成整体E-R图时可能会出现冲突,以下不属于冲突的是。
1. 数据库(DB):是存储在计算机内有结构的相关数据的集合。
特点:一少三性。
“一少”:指余数据少。
“三性”:指数据的共享性、独立性、安全性。
(数据库是数据库系统的核心和管理对象)2. 数据管理系统(DBMS):是位于用户与操作系统之间的一个数据管理软件,在操作系统支持下工作,是负责数据库存取、维护、管理的软件。
是数据库系统的核心软件。
3. 数据库系统(DBS):是指计算机系统中引入数据库后构成的系统。
(由数据库、操作系统、数据库管理系统(及其开发工具)、应用系统、数据管理员、用户构成){由硬件、软件、数据库、用户四部分构成整体}4. 数据:是反映客观事物属性的记录,是信息的具体表现形式。
5. 信息:是客观事物属性的反映。
6. 数据管理:是指对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。
(人工管理阶段、文件管理阶段、数据库管理阶段)7. 数据处理:是将数据转换成信息的过程。
数据是信息的载体,信息是数据处理的结果。
8. 实体:客观存在并可互相区别的事物称为实体。
9. 属性:实体所具有的某一特性。
10. 主码:唯一标识实体的属性集。
11. 域:属性的取值范围称为该属性的域。
12. 实体型:用实体名及其属性名来抽象和刻画同类实体,称为实体型。
13. 实体集:同型实体的集合称为实体集。
14. 数据模型:是数据库系统中用以提供信息表示和操作手段的形式框架。
(关系模型:二维表、层次模型:一对多、网状模型:多对多)15. 数据库设计步骤:A需求分析阶段B概念结构设计阶段C逻辑结构设计阶段D数据库物理设计阶段E数据库实施阶段F数据库运行和维护阶段。
16. 关系:一个关系就是一张二维表,每个关系有一个关系名,也称表名。
17. 元组:表中的行称为元组。
18. 属性:表中的一列就是一个属性,也称为一个字段。
19. 域:一个属性的取值称为一个域。
20. 关键字:在表中能唯一标识一条记录的字段或字段组合,称为主关键字。
1.数据( Data ) :描述事物的符号记录称为数据2.数据库( DataBase ,简称 DB ) :数据库是长期储存在计算机内的、有组织的、可共享的数据集合。
3.数据库系统( DataBas 。
Sytem ,简称 DBS ) :数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
4.数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。
5.数据库系统的特点1.数据结构化数据库系统实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别2.数据的共享性高,冗余度低,易扩充数据库的数据不再面向某个应用而是面向整个系统,因此可以被多个用户、多个应用以多种不同的语言共享使用。
由于数据面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充3.数据独立性高数据独立性包括数据的物理独立性和数据的逻辑独立性。
4.数据由 DBMS 统一管理和控制数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中同一个数据6.数据管理技术的产生和发展数据库技术是应数据管理任务的需要而产生人工管理、文件系统、数据库系统7.数据库管理系统的主要功能( l )数据库定义功能; ( 2 )数据存取功能; ( 3 )数据库运行管理;( 4 )数据库的建立和维护功能。
8.数据模型的组成要素数据结构、数据操作及完整性约束条件数据模型的种类1.层次模型2.网状模型3.关系模型4.面向对象模型5.对象关系模型9.模式:概念模式,也称逻辑模式,是对数据库系统中全局数据逻辑结构的描述,是全体用户(应用)公共数据视图10.数据库系统中的DBMS为三级模式结构提供了两层映像机制:外模式/模式映像和模式/内模式映像。
第一章数据库基础什么是数据库:数据库是为了实现一定的目的、按某种规则组织起来的“数据”的“集合”,简而言之,它是有结构的数据集合。
数据库系统的三级模式,二级映像:外模式,模式,内模式。
外模式/模式映像:保证逻辑独立性,模式/内模式映像:保证物理独立性数据库技术的发展阶段:人工管理阶段,文件系统阶段,数据库系统阶段。
数据模型的组成部分:数据结构,数据操作,完整性约束。
常见的数据模型:层次模型,网状模型,关系模型。
完整性约束:实体完整性,参照完整性,用户自定义完整性。
SQL结构化查询语言,包括数据定义语言(DDL):create,drop,alter 数据操作语言(DML):select,insert,update,delete 数据控制语言(DCL):grant,revoke第三章数据库对象:表(table),视图(view),索引(index),存储过程(proc或procedure),触发器(trigger),约束(constraint).SQL Server 2008数据库主要由文件和文件组组成.文件主要分为三类:主要数据文件(有且仅有一个,默认扩展名.mdf),次要数据文件(可以有一个或多个,也可以没有,默认扩展名.ndf),事务日志文件(至少有一个,可以有多个,默认扩展名.ldf)。
文件组分为:主文件组,用户定义文件组。
(使用filegroup在使用create或者alter创建或修改数据库的时候指定文件组)。
数据库对象的全称:服务器名.数据库名.拥有者名.对象名。
用SQL语句创建数据库create database booksys --创建数据库booksyson primary --主要数据文件(name=booksys, --逻辑名称filename='I:\sql_data\test1\booksys.mdf',--文件存放路径size=5mb, --初始大小maxsize=10mb, --最大容量filegrowth=2mb) --增长率log on --日志文件(name=booksys_ldf,filename='I:\sql_data\test1\booksys.ldf',size=2mb,maxsize=10mb,filegrowth=2mb)添加日志文件:use booksys --使用数据库alter database booksys --修改数据库add log file --添加日志文件(name=booksys_ldf,filename='I:\sql_data\test1\booksys.ldf',maxsize=10mb,filegrowth=2mb)to filegroup 文件组名--将文件添加到文件组中添加次要数据文件:use booksysalter database booksysadd file(name=booksys,filename='I:\sql_data\test1\booksys.ndf',size=2mb,maxsize=10mb,filegrowth=2mb)添加文件组:Alter database 数据库名Add filegroup 文件组名删除文件:Alter database 数据库名Remove file 文件名删除数据库:Drop 数据库名创建表:use booksyscreate table book(bookid varchar(20) primary key,--主键bookname varchar(60) unique,--唯一约束editor char(8) not null,--非空约束price numeric(5,2) check(price>20),--检查约束publish v archar(30) default(‘电子科大’),--默认值publishdata datetime,qty int,foreign key(字段) references 参照表名(字段[主键]) )ALTER table 表名(ADD 列名类型约束,| ALTER COLUMN 列名数据类型约束,| DROP COLUMN列名…)添加约束alter table borrowadd constraint pk_id primary key(bookid,cardid,bdate) —添加主键约束alter table borrowadd constraint fk_card foreign key(cardid)references reader(cardid) —添加外键约束ALTER TABLE studentADD CONSTRAINT CHECK_sex CHECK (sex='男' or sex = '女') —添加检查约束ALTER TABLE studentADD CONSTRAINT df_sp DEFAULT '三院' FOR 列名—为某一列添加默认值ALTER TABLE studentADD CONSTRAINT uq_ID UNIQUE (ID) --添加唯一约束删除约束:ALTER TABLE 表名DROP 约束名常见的约束:1、NULL/NOT NULL:空值/非空值约束。
1、查询全体学生姓名,学号,性别SELECT 学号,姓名,性别FROM XSQK2、查询学生全部信息SELECT *FROM XSQK3、查询选修了课程的学生的学号SELECT 学号FROM XS_KCGROUP BY 学号4、查询全体学生的姓名(将姓名改为NAME),学号,性别SELECT DISTINCT 姓名NAME,学号,性别FROM XSQK1二、条件查询1、查询选修课程为101的学生的学号和成绩SELECT 学号,成绩FROM XS_CKWHERE 课程号=101用课本作业做:2、查询分数在70分以上的学生选课信息,并按成绩降序排列SELECT *FROM SCWHERE GR>70ORDER BY GR DESC3、在SC表中按学号分组汇总学生的平均分,并按平均分的降序排列。
SELECT S#,平均分=AVG(GR)FROM SCGROUP BY S#ORDER BY 平均分 DESC或SELECT S#,AVG(GR)AS 平均分FROM SCGROUP BY S#ORDER BY 平均分DESC4、在SC表中查询选修了3门以上课程的学生学号。
SELECT S#FROM SCGROUP BY S#HAVING COUNT(*)>35、按学号对不及格的成绩记录进行明细汇总。
SELECT S#,C#,GRFROM SCWHERE GR<60ORDER BY S#COMPUTE COUNT(GR)BY S#6、分别用子查询和连接查询,求107号课程不及格的学生信息。
子查询:SELECT 学号,姓名,联系电话FROM XSQKWHERE 学号IN(SELECT 学号FROM XS_KCWHERE 课程号='107' AND 成绩<60)连接查询:SELECT XSQK.学号,姓名,联系电话FROM XSQKJOIN XS_KC ON XSQK.学号=XS_KC.学号WHERE 课程号='107'AND 成绩<607、用连接查询在XSQK表中查询住在同一寝室的学生,即其联系电话相同SELECT A.学号,A.姓名,A.联系电话FROM XSQK AJOIN XSQK B ON A.联系电话=B.联系电话WHERE A.学号<>B.学号8、查询XSQK表中所有系名SELECT DISTINCT 所在系FROM XSQK9、查询有多少同学选修了课程。
SELECT COUNT(*)AS 选修了课程的人数FROM XSQKWHERE 学号 IN(SELECT 学号FROM XS_KC)10、查询有多少同学没有选课。
SELECT COUNT(*)AS 没有选修课程的人数FROM XSQKWHERE 学号 NOT IN(SELECT 学号FROM XS_KC)11、查询与杨颖同一个系的同学姓名。
SELECT 姓名FROM XSQKWHERE 所在系=(SELECT 所在系FROM XSQKWHERE 姓名='杨颖')12、查询选修了课程的学生的姓名、课程名与成绩。
SELECT 姓名,课程名,成绩FROM XS_KC,XSQK,KCWHERE (XS_KC.学号=XSQK.学号) AND (XS_KC.课程号=KC.课程号) ANDXSQK.学号=ANY(SELECT 学号FROM XS_KC)13、统计每门课程的选课人数和最高分。
SELECT 课程名,COUNT(*)AS 选此课人数,MAX(成绩)AS 最高分FROM XS_KC,KCWHERE XS_KC.课程号=KC.课程号GROUP BY 课程名14、统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列。
错误程序:SELECT XSQK.学号,姓名,COUNT(*)AS 选课门数,SUM(成绩)AS 总成绩FROM XS_CK,XSQKWHERE XS_CK.学号=XSQK.学号GROUP BY 姓名ORDER BY 选课门数 DESC正确程序:SELECT 学号,姓名,COUNT(*)AS 选课门数,SUM(成绩)AS 总成绩FROM XS_CK,XSQKWHERE XS_CK.学号=XSQK.学号GROUP BY 姓名ORDER BY 选课门数 DESC15、 WHERE子句与HAVING子句有何不同?答:二者的根本区别在于作用对象不同,WHERE自居作用于基本表或视图,从中选择满足条件的元祖;HAVING子句作用于组,选择面租条件的组,必须用在GROUP BY子句之后,但GROUP BY子句可没有HAVING子句。
建立和使用视图:1、创建一个简单视图,查询“计算机系”学生的信息。
CREATE VIEW 计算机系学生信息AS SELECT*FROM XSQKWHERE 所在系='计算机'2、创建一个简单视图,统计每门课程的选课人数和最高分。
CREATE VIEW 每门课人数和最高分AS SELECT 课程名,COUNT(*)AS 选此课人数,MAX(成绩)AS 最高分FROM XS_KC,KCWHERE XS_KC.课程号=KC.课程号GROUP BY 课程名3、创建一个复杂视图,查询与“俞奇军”住在同一寝室的学生信息,即其联系电话相同。
CREATE VIEW 与俞奇军同学住同一寝室的学生信息AS SELECT*FROM XSQKWHERE 联系电话=(SELECT 联系电话FROM XSQKWHERE 姓名='俞奇军')4、创建一个复杂视图,查询选修了课程的同学的姓名,课程名及成绩。
CREATE VIEW 选课的同学姓名课程名及成绩AS SELECT 姓名,课程名,成绩FROM XS_KC,XSQK,KCWHERE (XS_KC.学号=XSQK.学号) AND (XS_KC.课程号=KC.课程号) ANDXSQK.学号=ANY(SELECT 学号FROM XS_KC)课本上第135页四、5答案(1)用SQL的DDL语言创建S表,S#为主键,SN不能为空。
CREATE TABLE S(S# CHAR(10) CONSTRAINT S_PRIM PRIMARY KEY,SN CHAR(10) NULL,AGE INT,DEPT VARCHAR(20))(2)创建计算机系学生的视图,该视图的属性列由学号、姓名、课程号和任课教师号组成。
CREATE VIEW C_STUDENT(S#,SN,C#,T#)AS SELECT S.S#,SN,C.C#,T#FROM S,SC,C,TWHERE S.S#=SC.S# AND C.C#=SC.C# AND T.C#=SC.C#(3)检索计算机系年龄在20岁以上的学生学号。
SELECT S#FROM SWHERE(DEPT='计算机')AND(AGE>=20)(4) 检索姓王的教师所讲课程的课程号及课程名称。
错误程序:SELECT C.C#,CNFROM T,CWHERE(T.C#=C.C#)AND(TN='王%')正确程序:SELECT C.C#,CNFROM T,CWHERE(T.C#=C.C#)AND(TN LIKE ‘王%’)错误分析:此处‘王%’为模糊查询,而‘=’为精确查询,故应该用‘LIKE’语句查询。
(5)检索张三同学课程的成绩,列出SN,C#,GR。
SELECT SN,C#,GRFROM S,SCWHERE (S.S#=SC.S#)AND(SN=’张三’)(6)检索选修总收入超过1000元的教师所讲课程的学生姓名、课程号和成绩。
SELECT SN,C#,GRFROM S,T,SCWHERE(S.S#=SC.S#)AND(T.C#=SC.C#)AND(SAL+COMM>=1000)(7)检索没有选修C1课程且选修课程数为两门的学生的姓名和平均成绩,并按平均成绩降序排列。
SELECT SN,AVG(GR) AS AVGGRFROM S,SCWHERE NOT EXISTS(SELECT*FROM SCWHERE S#=S.S# AND C#='C1')GROUP BY SC.S#,S.SNHAVING(COUNT(*)=2)ORDER BY 2 DESC(8)检索选修和张三同学所选课程中任意一门相同的学生姓名,课程名。
SELECT SN,CNFROM S,SC,CWHERE S.S#=SC.S# AND C.C#=SC.C# AND SC.C#=ANY(SELECT C#FROM S,SCWHERE S.S#=SC.S# AND SN='张三')(9)S1同学选修了C3,将此信息插入SC表中。
INSERT INTO SC(S#,C#)VALUES('S1','C3')(10)删除S表中没有选修任何课程的学生记录。
DELETEFROM SWHERE S.S# NOT IN(SELECT SC.S#FROM SC)(1)建立存书表和销售表;CREATE TABLE 存书(书号VARCHAR(10) PRIMARY KEY,书名VARCHAR(20),出版社CHAR(20),版次INT,出版日期DATETIME,作者CHAR(10),书价NUMERIC(4,1),进价NUMERIC(4,1),数量INT )CREATE TABLE 销售(日期DATETIME,书号VARCHAR(10) PRIMARY KEY,数量INT,金额NUMERIC(4,1) )(2)SELECT 书名,数量,进价*数量AS 余额FROM 存书(3)SELECT SUM(数量*金额)AS 总销售额FROM 销售(4)SELECT 日期,书名,存书.数量,销售.数量*金额AS 合计金额FROM 存书,销售WHERE 存书.书号=销售.书号GROUP BY 书名,日期,存书.数量,销售.数量*金额(5)SELECT 书名,销售.数量FROM 存书,销售WHERE 存书.书号= 销售.书号AND 销售.数量>100 AND 日期+30<( SELECT MAX(日期)FROM 销售)。