文档库 最新最全的文档下载
当前位置:文档库 › 大学数据库全面知识点资料整理

大学数据库全面知识点资料整理

大学数据库全面知识点资料整理
大学数据库全面知识点资料整理

第1章绪论

1 .数据库管理系统是数据库系统的一个重要组成部分,它的功能包括数据定义功能、数据操纵功能、数据库的运行管理、数据库的建立和维护功能。

2 .数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。

3 .数据库管理技术的发展是与计算机技术及其应用的发展联系在一起的,它经历了三个阶段:人工管理阶段,文件系统阶段和数据库系统阶段。

4 .数据库具有数据结构化、最小的冗余度、较高的数据独立性等特点。

5 .DBMS还必须提供数据的安全性保护、数据的完整性检查、并发控制、数据库恢复等数据控制功能。

6 .数据库管理系统的主要功能有哪些? (填空题)

①数据库定义功能;②数据存取功能;③数据库运行管理;④数据库的建立和维护功能。

7.三级模式之间的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 (问答题)

8 .试述概念模型的作用。 (填空题)

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

9 .根据模型应用的不同目的,可以将这些模型划分为两类,它们分别属于两个不同的层次。第一类是概念模型,第二类是数据模型。 (问答题)

10 .定义并解释概念模型中以下术语:实体,实体型,实体集,属性,码,实体联系图(E-R 图) (填空题)

实体:客观存在并可以相互区分的事物叫实体。

实体型:具有相同属性的实体具有相同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体称为实体型。

实体集:同型实体的集合称为实体集。

属性:实体所具有的某一特性,一个实体可由若干个属性来刻画。

码:唯一标识实体的属性集称为码。

实体联系图:E-R图提供了表示实体型、属性和联系的方法:

实体型:用矩形表示,矩形框内写明实体名。

属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。

联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。

11 .数据模型的三要素是指数据结构,数据操作,完整性约束。实际数据库系统中所支持的主要数据模型是关系模型,层次模型,网状模型。

13 .数据模型中的数据结构是对数据系统的静态特征描述,包括数据结构和数据间联系的描述,数据操作是对数据库系统的动态特征描述,是一组定义在数据上的操作,包括操作的涵义、操作符、运算规则及其语言等。 (问答题)

14 .定义并解释以下术语:DDL、DML (填空题)

DDL:数据定义语言。用来定义数据库模式、外模式、内模式的语言。 DML:数据操纵语言。用来对数据库中的数据进行查询、插入、删除和修改的语句。

15 .关系模型是目前最常用也是最重要的一种数据模型。采用该模型作为数据的组织方式的数据库系统称为关系数据库系统。 (问答题)

16 .关系的完整性约束条件包括三大类:实体完整性、参照完整性和用户定义的完整性。

(问答题)

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

数据与程序的逻辑独立性:当模式改变时(例如增加新的关系、新的属性、改变属性的数据类型等),由数据库管理员对各个外模式/模式的映象作相应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,从而应用程序不必修改,保证了数据与程序的逻辑独立性,简称数据的逻辑独立性。

数据与程序的物理独立性:当数据库的存储结构改变了,由数据库管理员对模式/内模式映象作相应改变,可以使模式保持不变,从而应用程序也不必改变。保证了数据与程序的物理独立性,简称数据的物理独立性。数据库管理系统在三级模式之间提供的两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。

关系操作的特点:集合方式,操作对象和结果都是关系——元组的集合

非关系操作的特点:层次/网状,以记录为操作单位

2 .关系数据模型中,二维表的列称为属性,二维表的行称为记录或元组。

3 .用户选作元组标识的一个候选码为主码,其属性不能取空值。 (问答题)

Chapter 1

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

信息(information):数据所表示的含义称为信息。

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

数据库(DB)是各种信息系统(Information System) 的核心。

数据库特点:数据库中的数据具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。

即数据及结构相对于应用程序具有独立性

数据库管理系统Database Management System(DBMS):DBMS是对数据库建立、操纵、维护的系统软件。

主要功能:1、数据定义功能;2、数据操纵功能;3、数据库的运行管理;4、数据库的建立维护。

常见的数据库管理系统 (DBMS)

大型DBMS:ORACLE SQL-SERVER DB2 SYBASE

中型DBMS: MYSQL, INFORMIX, INTERBASE

小型(桌面)DBMS: ACCESS, FOXPRO, SQL-ANYWHERE

数据库系统—Database System(DBS):在计算机系统中引入数据库后的系统,

通常由:数据库 DB, 操作系统OS,数据库管理系统 DBMS,开发工具SDK,应用系统APP ,管理员DBA ,用户USER

计算机数据管理经历阶段:1、人工管理阶段;2、文件系统阶段;3、数据库系统阶段

数据库系统管理的特点:

1.数据结构化(数据库的文件系统的根本区别)

2.数据独立性高(数据结构变,程序不须变)

3.数据共享性高,冗余度低,易扩充

4.数据由DBMS统一管理和控制,并使数据管理具有:

数据的安全性(security)保护(数据不被非法访问)

数据完整性(Integrity)检查(数据的正确性有效性相容性)

并发控制(Concurrency)控制

数据恢复(Recovery)

数据模型是对现实世界数据特征的抽象。

数据模型的三要素:

1数据结构:对实体类型和实体间联系的表达和实现。

2数据操作:允许执行的操作。主要:检索和更新

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

完整性规则:数据及其联系所具有的制约和依存规则,以保证数据的正确、有效和相容。数据的完整性:指数据的正确性、有效性和相容性。

概念模型:计算机数据处理的第一层抽象,反映人对客观事物的认识。

概念模型的表示方法:实体-联系图(E-R图)

用矩形表示实体、用椭圆表示属性、用菱形表示联系。

属性和实体间、实体和联系间用线段连接

联系线标注联系类型(1,n), 如果联系有属性,也要标注

常见的数据模型有四种(按发展时间为序):

层次模型、网状模型、关系模型、对象模型

用表格(称为关系) 表示实体以及实体间联系的数据模型叫关系模型。

关系(Relation):一个二维表格;

元组(Tuple) :表中的一行即为一个元组;

属性(Attribute):表中的一列即为一个属性;

码(key):表中某属性组,可唯一确定任一元组;

域(Domain):属性的取值范围;

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

关系模式:对关系的描述,表述为:关系名(属性1,属性2,….,属性n)

例:学生数据库的关系模式:学生(学号,姓名,性别,专业,入学时间)

数据库模式(Schema):数据库中全体数据的结构和特征的描述称为数据库模式。

数据库系统三级模式结构:模式、外模式、存储模式三级模式的概念。

三级模式之间有两级映象:外模式/模式映象、模式/内模式映象

外模式(Sub-Schema)(用户模式):用户的数据视图、是数据的局部逻辑结构,模式的子集模式(Schema)(概念模式):所有用户的公共数据视图;是数据库中全体数据的全局逻辑结构和特性的描述。

内模式(Storage Schema)(存贮模式):又称存储模式,是数据的物理结构及存储方式。数据的逻辑独立性:当模式改变时,修改外模式/模式映象,使外模式保持不变,从而应用程序可以保持不变。

物理独立性:存储结构改变时,修改模式/内模式映象,使模式保持不变,从而应用程序可以保持不变。

数据库系统外部的体系结构:单用户结构、主从式结构、分布式结构、客户/服务器结构、浏览器/应用服务器/数据库服务器结构。

Chapter 2

关系模式是对关系的描述:关系的结构(属性构成、属性来自的域、属性与域之间的映象关系),完整性约束条件,属性间的数据依赖关系集合

关系模式可以形式化地表示为:R(U,D,dom,F)

R:关系名;U:组成该关系的属性名集合;D:属性组U中属性所来自的域;

dom:属性向域的映象集合;F:属性间的数据依赖关系集合

关系模式通常可以简记为R (A1,A2,…,An)。A1,A2,…,An:属性名

数据完整性:数据的正确性、有效性和相容性。

关系模型中三类完整性约束:实体完整性、参照完整性、用户定义的完整性

实体完整性规则:若属性A 是基本关系R 的主属性,则属性A 不能取空值

参照完整性规则:若属性(或属性组)F 是关系R 的外码。它与关系S 的主码Ks 相对应(关

系R 和S 可是一个关系),则对于R 中每个元组在F 上的值必须为:或者取空值(F 的每个

属性值均为空值)或者等于S 中某个元组的主码值。

用户定义的完整性

例:课程(课程号,课程名,学分)

“课程号”主属性必须取唯一值;非主属性“课程名”也不能取空值;“学分”属性只能取

值{1,2,3,4}

关系数据库语言: 实现关系操作(查询,插改删)的语言

关系代数语言:一种抽象的查询语言,用对关系的运算来表达查询(ISBL)

关系演算语言:用谓词来表达查询要求

元组关系演算语言:谓词变元的基本对象是元组变量(APLHA )

域关系演算语言 :谓词变元的基本对象是域变量(QBE)

具有关系代数和关系演算双重特点的语言:SQL (Structured Query Language )

关系代数运算的三个要素:运算对象,运算结果,运算符

【运算对象和运算结果的操作对象都是:关系( 元组的集合)】

传统的集合运算:并、差、交、广义笛卡尔积

专门的关系运算:选择、投影、连接、除

并:R ∪S = { t|t ∈R ∨t ∈S } 差:R -S = { t|t ∈R ∧t ∈S }

交:R ∩S = { t|t ∈R ∧t ∈S } 笛卡尔积:R ×S = {s r t t |r t ∈R ∧ s t ∈S }

选择(Selection ):在关系R 中选择满足给定条件的诸元组。从行的角度进行的运算。

}'')(|{)(真=∧∈=t F R t t R F σ F :选择条件,是一个逻辑表达式

[例1] 查询信息系(IS 系)全体学生 )(''Student IS Sdept =σ

投影:从R 中选择出若干属性列组成新的关系,从列的角度进行运算

}|][{)(R t A t R A ∈=π A :R 中的属性列

注意:但投影之后不仅取消了原关系中的某些列,而且还可能取消某些元组(避免重复行)

[例3] 查询学生的姓名和所在系。 即求Student 关系学生姓名和所在系两个属性上的投

)(,Student sdept sname π

查询没有选过课的学号:)()(SC Student sno sno ππ-

查询没有不及格的学号:))(()(60SC Student Grade sno sno <-σππ

连接:从两个关系的笛卡尔积中选取属性间满足一定条件的元组

]}[][|{B t A t S t R t t t S R s r s r s r B

A θθ∧∈∧∈=∞ A 和

B :分别为R 和S 上的属性组; θ:比较运算符

例,查询没有选过课的学号,姓名。

R1=)()(SC Student sno sno ππ- R2= )1(,R Student sname sno ∞π

象集(Image Set ),关系R(X , Z), X, Z 是属性组,x 是X 上的取值,定义x 在R 中的象

集为

Zx = { t[Z] | t ∈R ∧t[X]= x }

(从R 中选出在X 上取值为x 的元组,去掉X 上的分量,只留Z 上的分量)

SNO=95001在R 中的象集:Z95001 ={1,2,3 },

SNO=95002在R 中的象集:Z95002 ={2, 3 },

SNO=95003在R 中的象集:Z95003 ={1,2 },

除运算:给定关系R (X ,Y) 和S (Y ,Z),其中X ,Y ,Z 为属性组。

R 与S 的除运算得到一个新的关系P(X),

P 是R 中满足下列条件的元组在X 属性列上的投影:

元组在X 上分量值x 的象集Yx 包含S 在Y 上投影的集合。

R ÷S = {r t [X] |r t ∈R ∧)(X Y Y S ?π} Yx :x 在R 中的象集,x = r t [X]

[例7] 查询至少选修1号课程和3号课程的学生号码

首先建立一个临时关系K :))((31SC cno cno cno =∨=σπ

然后求:K SC cno sno ÷)(,π

[例 8] 查询选修了2号课程的学生的学号。

[例9] 查询至少选修了一门其直接先行课为5号课程的课程的学生姓名。

[例10] 查询选修了全部课程的学生号码和姓名。

[例11]查未被选修的课号

[例12]查询选修了95002所选全部课程的学生号码

图书管理数据库有关系模式:

图书(书号,书名,价格,作者)

读者(读者号,姓名,性别,年龄)

借阅(读者号,书号,借日期,还日期,罚款金额)

用关系代数查询:

1 查询价格大于50的书名和作者名

2 查询(一次)罚款金额>20元的读者名

3 查询被年龄大于60的读者借过的书名和作者名

4 查询看了所有书的读者名

5 查询看了'张三‘所看过的所有书的读者名

6 查询没有借过书的读者姓名

元组关系演算语言ALPHA

检索语句:GET

更新语句:PUT,HOLD,UPDATE,DELETE,DROP

格式GET 工作空间名(表达式1)

[例1] 查询所有被选修的课程号码。 GET W (https://www.wendangku.net/doc/166530444.html,o)

[例2] 查询所有学生的数据。 GET W (Student)

格式 GET 工作空间名(表达式1):操作条件

[例3]查询信息系(IS) 年龄小于20岁的学号和年龄。

GET W (Student.Sno,Student.Sage): Student.Sdept='IS'∧student.Sage<20 [例4] 查询计算机科学系(CS)学生的学号、年龄,结果按年龄降序排序。UP

GET W (Student.Sno,Student.Sage): Student.Sdept='CS' DOWN Student.Sage [例6] 查询信息系年龄最大的三个学生的学号及其年龄,结果按年龄降序排序。

GET W (3) (Student.Sno,Student.Sage):Student.Sdept='IS' DOWN Student.Sage 定义元组变量格式: RANGE 关系名变量名

[例7] 查询选修2号课程的学生名字和成绩。(条件来自工作区的关系,不用存在量词) GET W (Student.Sname,SC.Grade): SC.Sno=Student.Sno∧https://www.wendangku.net/doc/166530444.html,o='2'

[例8] 查询选修2号课程的学生名字。

RANGE SC X

GET W (Student.Sname): ?X(X.Sno=Student.Sno∧https://www.wendangku.net/doc/166530444.html,o='2')

查询语义:查询这样的学生名,条件是存在选课元组X,X的学号与该生的学号相等并且X 的课号为2(表明该生选了2号课)

用存在量词的检索(条件来自工作区外的关系)

[例9] 查询选修了这样课程的学生学号,其直接先行课是6号课程。

RANGE Course CX

GET W (SC.Sno): ?CX (https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o∧CX.Pcno='6')

[例10]查询至少选修一门先行课为6号课程的学生名字或查询选修过先行课为6号课程的学生名字. RANGE Course CX SC SCX

GET W (Student.Sname): ?SCX(SCX.Sno=Student.Sno ∧?CX (https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o ∧CX.Pcno='6')) GET W (Student.Sname): ?SCX ?CX (SCX.Sno=Student.Sno ∧https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o ∧CX.Pcno='6') [例12] 查询不选1号课程的学生名字。 查询语义:查询这样的学生,条件是对所有选课元组, 都不表明该生选了1号课(或者与该生学号不同, 或者课号不是1) RANGE SC SCX GET W (Student.Sname): SCX (SCX.Sno ≠Student.Sno ∨https://www.wendangku.net/doc/166530444.html,o ≠'1') GET W (Student.Sname): ??SCX (SCX.Sno=Student.Sno ∧https://www.wendangku.net/doc/166530444.html,o='1') [例13] 查询选修了全部课程的学生姓名。 RANGE Course CX SC SCX GET W(Student.Sname):?CX ?SCX(SCX.Sno=Student.Sno ∧https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o) 解释:对于STUDENT 中的一个学生,如果对所有的课程,都存在着SC 的元组SCX ,表明这

个 学生选修了该课程,则这个学生属于查询范围。

[例14] 查询最少选修了95002学生所选课程的学生学号。

RANGE Couse CX SC SCX SC SCY

GET W (Student.Sno):?CX(?SCX (SCX.Sno='95002'∧https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o) ??SCY(SCY.Sno=Student.Sno ∧ https://www.wendangku.net/doc/166530444.html,o= https://www.wendangku.net/doc/166530444.html,o))

查询语义:查询这样的学生,条件是对所有课程,如果95002选了,则该学生也选修了该课

P ?Q== ?P ∨Q

GET W (Student.Sno):?CX(??SCX(SCX.Sno='95002'∧https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o)

??SCY(SCY.Sno=Student.Sno ∧https://www.wendangku.net/doc/166530444.html,o= https://www.wendangku.net/doc/166530444.html,o))

CREATE TABLE Student

(Sno CHAR(5) PRIMARY KEY ,

Sname CHAR(20) NOT NULL ,

Ssex CHAR(1) ,

Sage INT ,

Sdept CHAR(15)

Primary key (Sno, Cno));

sex char(2) default '男' check( sex='男' or sex='女')

);

DROP TABLE Student ;

ALTER TABLE <表名>

[ ADD <新列名> <数据类型> [ 完整性约束 ] ]

?表3.2 SQL 的数据定义语句操 作 方 式操 作 对象创 建删 除修 改表CREATE T ABLE DROP T ABLE ALTER T ABLE 视 图CREATE VIEW DROP VIEW 索

引CREATE INDEX DROP INDEX 表3.1 SQL 语言的动词 SQL 功 能 动 词 数 据 定 义 CREATE ,DROP ,ALTER 数 据 查 询 SELECT 数 据 操 纵 INSERT ,UPDATE DELETE 数 据 控 制 GRANT ,REVOKE

[ DROP <完整性约束名> ]

[ MODIFY <列名> <数据类型> ];

<表名>:要修改的基本表

ADD子句:增加新列和新的完整性约束条件

DROP子句:删除指定的完整性约束条件

MODIFY子句:用于修改列名和数据类型

[例2] 向Student表增加“入学时间”列,其数据类型为日期型。

ALTER TABLE Student ADD Scome DATE;

删除属性列例:ALTER TABLE Student Drop Scome;

[例3] 将年龄的数据类型改为半字长整数。

ALTER TABLE Student MODIFY Sage SMALLINT;

[例6] 为Student的sname列建立索引。

CREATE INDEX StuName ON Student(Sname);

[例6] 为Course的Cname列建立唯一值索引。

CREATE UNIQUE INDEX CouName ON Course(Cname);

在Student表的Sname(姓名)列上建立一个聚簇索引,而且Student表中的记录将按照Sname 值的升序存放。CREATE CLUSTER INDEX Stusname ON Student(Sname);

DROP INDEX Stusname;

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

课程表:Course(Cno,Cname,Cpno,Ccredit)

学生选课表:SC(Sno,Cno,Grade)

[例5] 查询全体学生的姓名、出生年份和所有系,要求用小写字母表示所有系名。SELECT Sname,'Year of Birth: ',2012 Sage,ISLOWER(Sdept) FROM Student;SELECT DISTINCT Sno FROM SC;

[例17] 查询名字中第2个字为"阳"字的学生的姓名和学号。

SELECT Sname,Sno FROM Student WHERE Sname LIKE '__阳%';

[例19] 查询DB_Design课程的课程号和学分。

SELECT Cno,Ccredit FROM Course WHERE Cname LIKE 'DB\_Design' ESCAPE '\' SELECT Sno,Cno FROM SC WHERE Grade IS NOT NULL;

[例32] 查询每个学生及其选修课程的情况。

用WHERE子句指定连接条件:

SELECT * FROM Student,SC WHERE Student.Sno = SC.Sno;

或,用FROM子句指定连接条件:

SELECT * FROM Student JOIN SC ON Student.Sno=SC.Sno;

自身连接

[例34] 查询每一门课的先行课名

SELECT https://www.wendangku.net/doc/166530444.html,ame 课名, https://www.wendangku.net/doc/166530444.html,ame 先行课名 FROM Course First,course Second WHERE First.Cpno = https://www.wendangku.net/doc/166530444.html,o;

[例36] 查询每个学生的学号、姓名、选修的课程名及成绩。

SELECT Student.Sno,Sname,Cname,Grade FROM Student JOIN SC ON Student.Sno = SC.Sno JOIN Course ON https://www.wendangku.net/doc/166530444.html,o = https://www.wendangku.net/doc/166530444.html,o;

子查询:

SELECT Sno,Sname,Sdept FROM Student WHERE Sdept IN (SELECT Sdept FROM Student WHERE Sname= ‘刘晨’);

EXISTS子查询方式 (类似关系演算方式)

[例42] 查询没有选修1号课程的学生姓名。

SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno=Student.Sno AND Cno= '1');

[例43] 查询选修了全部课程的学生姓名。

SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS SELECT * FROM SC WHERE SC.Sno= Student.Sno AND https://www.wendangku.net/doc/166530444.html,o= https://www.wendangku.net/doc/166530444.html,o));

[例44] 查询至少选修了学生95002选修的全部课程的学生号码。

思路:不存在这样的课95002选了这个学生未选

用关系演算实现:

RANGE Couse CX SC SCX SC SCY

GET W(Student.Sno): ??CX(?SCX(SCX.Sno='95002'∧https://www.wendangku.net/doc/166530444.html,o=https://www.wendangku.net/doc/166530444.html,o)∧

??SCY(SCY.Sno=Student.Sno∧https://www.wendangku.net/doc/166530444.html,o= https://www.wendangku.net/doc/166530444.html,o))

SELECT SNO FROM STUDENT S WHERE NOT EXISTS ( SELECT * FROM COURSE C WHERE EXISTS (SELECT * FROM SC WHERE SC.SNO='95002' AND https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O) AND NOT EXISTS ( SELECT * FROM SC WHERE SC.SNO=S.SNO AND https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O ) )

2 查询被'张三'选修的课名

RANGE SC SCX

RANGE S SX

GET W(https://www.wendangku.net/doc/166530444.html,AME): 存在SCX(https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O 并且存在SX(SX.SNO=SCX.SNO 并且

SX.SNAME='张三'))

SELECT CNAME FROM C

WHERE EXISTS

( SELECT * FROM SC

WHERE https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O AND EXISTS

(SLEECT * FROM S

WHERE S.SNO=SC.SNO AND

S.SNAME='张三') )

4 查询被所有同学选修的课名

SELECT CNAME FROM C

WHERE NOT EXISTS (SELECT * FROM S

WHERE NOT EXISTS ( SELECT * FROM SC

WHERE SC.SNO=S.SNO AND https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O))

5 查询选了'张三'选修所有课的学生名

SELECT SNAME FROM S

WHERE NOT EXISTS(SELECT * FROM C

WHERE

EXISTS (SELECT * FROM SC

WHERE https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O AND EXISTS

( SELECT * FROM S WHERE S.SNO=SC.SNO AND S.SNAME=’张三'))

AND

NOT EXISTS

(SELECT * FROM SC

WHERE https://www.wendangku.net/doc/166530444.html,O=https://www.wendangku.net/doc/166530444.html,O AND SC.SNO=S.SNO)

[例45] 查询计算机科学系的学生及年龄不大于19岁的学生。

SELECT * FROM Student WHERE Sdept= 'CS' UNION SELECT * FROM Student WHERE Sage<=19;SELECT DISTINCT * FROM Student WHERE Sdept= 'CS' OR Sage<=19

查询未选课的学号

(所有学号与选过可得学号的差集)

SELECT Sno FROM Student WHERE Sno NOT IN (SELECT Sno FROM SC);

INSERT INTO Student VALUES ('95020','陈冬','男','IS',18)

INSERT INTO Deptage(Sdept,Avgage) SELECT Sdept,AVG(Sage) FROM Student GROUP BY Sdept;

UPDATE Student SET Sage=22 WHERE Sno=' 95001 ';

DELETE FROM Student WHERE Sno='95019';

DELETE FROM SC;

CREATE VIEW IS_Student(No,Name,Age) AS SELECT Sno, Sname, Sage FROM Student WHERE Sdept= 'IS';

[例2] 建立信息系学生的视图,并要求透过该视图进行的更新操作只涉及信息系学生。CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS' WITH CHECK OPTION;

DROP VIEW IS_S1;

指定WITH CHECK OPTION子句后,DBMS在更新视图时会进行检查,防止用户通过视图对不

属于视图范围内的基本表数据进行更新。

Chapter 4

为用户 'ZhangPing' 创建了一个密码为'Rose'的 SQL Server 登录

语法格式: EXEC sp_addlogin 'UserName', 'Password'

EXEC sp_addlogin 'ZhangPing ', 'Rose'

将用户 ZhangPing 添加到当前数据库

语法格式: EXEC sp_adduser 'UserName'

EXEC sp_adduser 'ZhangPing'

4. 将BOOK 查询权授予PUBLIC

grant select on BOOK to public;

5. 将READER的查询权授予ZhangPing

grant select on READER to ZhangPing;

6. 将BOOK插入权删除权修改权授予ZhangPing

grant insert,delete,update on BOOK to ZhangPing;

7. 将LOAN的插入权删除权修改权从ZhangPing收回

revoke insert,delete,update on loan from ZhangPing

8. 重新以ZhangPing登录

登录后更改密码, 将密码'Rose'改为 'coffee'

格式: EXEC sp_password '旧密码', '新密码'

EXEC sp_password 'Rose','coffee'

10. 查询BOOK所有数据,(有权执行)。

13. 重新以DBA登录将create table权授予ZhangPing

grant create table to ZhangPing

Chapter 5

2、修改批处理文件CREATE_TABLES.TXT中对表SC的定义,对外关键字加入删除与修改级联,并重新执行建立数据表

CREATE TABLE SC(

SNO NUMERIC(5) REFERENCES STUDENT

ON UPDATE CASCADE

ON DELETE CASCADE,

CNO NUMERIC(2) REFERENCES COURSE(CNO)

ON UPDATE CASCADE

ON DELETE CASCADE,

GRADE NUMERIC(6,2),

PRIMARY KEY(SNO,CNO)

);

第六章关系数据理论

理解并给出下列术语的定义:函数依赖、部分函数依赖、完全函数依赖、传递依赖、候选码、主码、外码、全码(All-key)、多值依赖。

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

若对于R(U)的任意一个可能的关系r,r中对于X的每一个具体值,Y都有唯一的具体值与之对应, 则称“X函数决定Y”或“Y函数依赖于X”,记作X→Y。

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

平凡函数依赖: Sno → Sno (Sno, Cno) → Sno (Sno, Cno) → Cno

非平凡函数依赖: (Sno, Cno) → Grade

若X→Y,但Y X,则称X→Y是平凡的函数依赖,否则称X →Y是非平凡的函数依赖

候选码(Candidate key):若关系中的某一属性组的值能唯一地标识一个元组,且该属性组没有多余的属性,则称该属性组为候选码,候选码简称为码。

1NF的定义:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。

问题正好出现在对码部分依赖的属性上

定义6.6若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。(2NF也就是不允许关系模式存在非主属性对码的部分函数依赖)

SCG(Sno, Sname, Sage ,Cno, Grade)分解为两个关系模式

S( Sno, Sname, Sage ) S: Sno→Sname Sno → Sage

SC(Sno, Cno, Grade)SC:(Sno, Cno)→ Grade

没有非主属性对码部分函数依赖,S,SC分别达到2NF

有关系模式 SL(Sno, Sname, Sdept, Sloc),并且一个系的学生住处相同

函数依赖:Sno→Sdept、Sno→Sname、Sdept→Sloc、Sno→Sloc

如果关系的码只有一个属性,一定是2NF,故已达到2NF

定义6.8关系模式R 中若不存在这样的码X、属性组Y及非主属性Z,使得X→Y,Y →Z成立,则称R ∈ 3NF。(Y → X , Z?Y )(即没有非主属性对码的传递函数依赖)采用投影分解法,把SL分解为两个关系模式,以消除传递函数依赖:

SD(Sno, Sname, Sdept)DL(Sdept, Sloc)SD的码为Sno, DL的码为Sdept。

因为非主属性直接依赖与码,所以是3NF。

定义6.9 设关系模式R∈1NF,如果对于R的每个非平凡函数依赖X→Y,X必含有码,那么R∈BCNF。等价定义:若每一个非平凡决定属性集(因素)都包含码,则R∈BCNF 例如:关系模式学生教师课程STC(S,T,C) S学生,T教师,C课程。

(1)每一位教师仅教一门课,每门课有若干个教师教

(2)某个学生选定一门课后,就对应一个确定的教师(不能重复选同一门课)

(3)某个学生选定一个教师后,就对应一门确定的课程

(S,C)→T,(S,T)→C,T→C

(S,C)和(S,T)都是码

S、T、C都是主属性STC∈3NF

T→C,T是决定属性集,T不是码,故STC?BCNF

将STC分解为二个关系模式: ST(S,T) ∈ BCNF TC(T,C) ∈ BCNF

第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)、第四范式(4NF)

定义6.10 设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z

=U-X-Y,多值依赖 X→→Y成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关(即不管如何变换Z值,这组Y值不变,只与X值相关,或者说Y的这组多值只依赖于X)。

若X→→Y,而Z=φ,则称X→→Y为平凡的多值依赖

R(T1,T2) T1 →→T2(平凡)

S(SNO,SNAME,SAGE) (SNO,SNAME)→→SAGE(平凡) 否则称X→→Y为非平凡的多值依赖定义6.10 关系模式R∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y X),X都含有码,则R∈4NF。

说明:4NF不允许有典型的多值依赖(非平凡,非函数依赖);

4NF只允许有函数依赖型的多值依赖, 且左边含有码

课堂作业: 试举出三个多值依赖的例子。分别说明更新异常,并分解。

(1)(中小学)一个年级有多个学生,一个年级每个学生使用相同的一套教材。

R1(年级,学生号,教材名)

(2)一个专业多个班级,一个专业每个班级开设相同的一组课程。

R2(专业,班级,课程名)

(3)一个仓库有多个保管员,一个仓库每个保管员保管员相同的一组货物。

R3(仓库,保管员,货物)

课堂作业:

现在有关于学生成绩管理的关系模式,

关系模式有属性:学号,姓名,班号,班名,系号,系名,课号,课名,学期,成绩。ALL(S#,SNAME,CLA#,CLANAME,D#,DNAME,C#,CNAME,TERM,GRADE)

写出其存在的合理的函数依赖,说明是何范式,举例说明更新异常,并分解,转化为高式,如仍存在更新异常,则继续分解。

函数依赖:

S#->SNAME, S#->CLA#, CLA#->CLANAME, CLA#->D#,

D#->DNAME,C#->CNAME,(S#,C#,TERM)->GRADE

主码是:(S#,C#,TERM)

存在非主属性对码部分依赖(SNAME,CNAME),属于1NF

存在问题:

学生信息冗余,修改学生信息? 插入新生? 删学生成绩?

课程信息冗余,修改课程信息? 插入新课程? 删学生成绩?

消除学生信息冗余和课程信息冗余。分解为:

S(S#,SNAME,CLA#,CLASSNAME,D#,DNAME)

SC(S#,C#,TERM,GRADE)C(C#,CNAME)

其中SC中有(S#,C#,TERM)->GRADE

C中有C#->CNAME,

没有非主属性对码的部分依赖,达到2NF;没有非主属性对码的部分和传递依赖,达到3NF 决定因素包含码,达到BCNF,只有平凡的多值依赖,达到4NF.

练习:有供应商和零件的关系模式:

SP(SNO,SNAME,PNO,PCOLOR,QTY)

请写出:SP的函数依赖? SP的码,主属性,非主属性?

SP属于第几范式? SP有什么更新异常?如何分解?

练习:职工关系模式:(每种职务有固定的职务工资)

职工(职工编号,职工姓名,职务,职务工资,基本工资)

练习:入库单关系模式:

入库单(入库单号,日期,材料编号,材料名称,材料规格,计量单位,入库数量)

第7章数据库设计

数据库设计有哪些基本步骤?

1、需求分析;

2、概念结构设计;

3、逻辑结构设计

4、物理结构设计;

5、数据库实施;

6、数据库运行与维护

简述数据库设计各个阶段内容:

1、需求分析阶段:了解用户的需求,包括数据与处理。(数据流图,数据字典)

2、概念结构设计阶段:设计独立于DBMS的概念模型(ER图)

3、逻辑结构设计阶段:设计DBMS逻辑模型,并优化

4、物理结构设计阶段:选取合适的存储结构与方法

5、数据库实施阶段:建立数据库,编制与调试应用程序,组织数据入库

6、数据库运行与维护阶段:正式运行,并对数据库评价调整与修改

E-R图向关系模型的转换规则:

(1)一个实体型转换为一个关系模式。(属性,码)

(2)m:n联系转换为一个独立关系模式。(码=各实体型码合, 联系的属性))

(3)三个或三个以上实体间的多元联系转为一个关系模式;(码=各实体码组合,联系的属性)

(4)对于1:n联系,与n端合并,在n端关系中加入1端的码及联系属性;

(5)对于1:1联系,与其一合并,加入对方的码;

(6)具有相同码的关系可合并

将下面E-R图转换为一组关系模式:

第八章数据库程序设计

EXEC sp_databases 列出当前系统中的数据库

EXEC sp_renamedb 'Northwin','Northwind1' 修改数据库的名称(单用户访问) USE stuDB

GO

EXEC sp_tables 当前数据库中查询的对象的列表

EXEC sp_columns SC 返回某个表列的信息

EXEC sp_help SC 查看表SC的结构信息

EXEC sp_helpconstraint SC 查看表SC的约束

EXEC sp_helpindex SC 查看表SC的索引

EXEC sp_helptext view1 查看视图的语句文本

EXEC sp_stored_procedures 查看当前数据库中的存储过程

2 建立过程 PSTU, 输出某学生的姓名和总学分

drop procedure pstu

go

use studb

go

create procedure pstu

@no int

as

declare @name char(20)

declare @total int

select @name=sname from student s where s.sno=@no;

select @total=sum(ccredit) from course where cno in(select cno from sc where sno=@no);

print 'name='+@name+'totol credit='+cast(@total as char(5))

go

exec pstu '95001'

3建立过程 PSTU2, 输出某学生的姓名, 选课门数, 平均分, 最高分,最低分, 总学分, 如果总学分<9,则显示“此学生学分不足!”,否则显示“此学生学分已足!”,

create procedure pstu2

@no int

as

declare @name char(20)

declare @totalm int

declare @avgg int

declare @maxg int

declare @ming int

declare @allcredit int

select @name=sname from student s where s.sno=@no;

select @totalm=count(cno),@avgg=avg(grade),@maxg=max(grade),@ming=min(grade) from sc where sc.sno=@no;

select @allcredit=sum(ccredit) from course where cno in(select cno from sc where sno=@no);

if(@allcredit<9)

print '此学生学分不足';

else

print '此学生学分已足!';

print 'name='+@name+'totol credit='+cast(@allcredit as char(5));

print 'max='+cast(@maxg as char(3))+'min='+cast(@ming as

char(3))+'avg='+cast(@avgg as char(5));

print '总门数='+cast(@totalm as char(4));

go

exec pstu2 '95001'

4 一个存贮过程, (参数为课号,类型为int),输出该课成绩优,良,差的人数(使用游标).

create procedure p1

@cno int

as

declare @gradeA int

declare @gradeB int

declare @gradeC int

declare @grade int

declare c1 cursor for select grade from sc where cno=@cno;

select @gradeA=0,@gradeB=0,@gradeC=0;

open c1;

while 1=1

begin

fetch next from c1 into @grade

if @@fetch_status<>0

break;

if @grade is not null

if @grade>=90

set @gradeA=@gradeA+1;

else if @grade>=80

set @gradeB=@gradeB+1;

else

set @gradeC=@gradeC+1;

end

close c1;

deallocate c1;

select @gradeA '优人数',@gradeB '良人数',@gradeC '差人数';

exec p1 2

1 编写触发器,使学生的年龄修改只能增1

DROP TRIGGER trig_update_sage --为防止重建时报错, 先删一下

GO

CREATE TRIGGER trig_update_sage

ON STUDENT

FOR UPDATE AS --STUDENT表的UPDATE触发器

DECLARE @beforeSage int,@afterSage int --定义变量

SELECT @beforeSage=SAGE FROM deleted --deleted存旧数据

SELECT @afterSage=SAGE FROM inserted -- inserted存新数据

IF @afterSage-@beforeSage<>1

AND @afterSage-@beforeSage<>0

BEGIN

RAISERROR ('修改只能增1',16,1) --报错

ROLLBACK TRANSACTION --回滚,撤销UPDATE语句

END

GO

2 编写触发器,在deletedSTU中记录STUDENT表删除的行

DROP TRIGGER trig_delete_STU

GO

CREATE TRIGGER trig_delete_STU

ON STUDENT

FOR DELETE

AS

INSERT INTO DELETEDSTU SELECT * FROM deleted

GO

3在学生表中有选课门数列(CCOUNT)和总成绩列(GTOTAL) , 对SC表编写插入触发器, 实现这样的功能:当对SC表插入数据时,自动更新学生表中选课门数列和总成绩列. CREATE TRIGGER trig_insert_sc

ON SC

FOR insert AS

DECLARE @grade int, @sno int

SELECT @sno=SNO,@grade=GRADE FROM inserted

IF @GRADE IS NOT NULL

UPDATE STUDENT

SET CCOUNT=CCOUNT+1, GTOTAL=GTOTAL+@GRADE

WHERE SNO=@sno

GO

4 对SC表编写触发器, 当对SC表删除数据时,自动更新学生表中选课门数列和总成绩列. CREATE TRIGGER trig_delete_sc ON SC

FOR DELETE AS --SC表DELETE触发器

DECLARE @sno int , @grade int --定义变量

DECLARE C1 CURSOR FOR --定义游标

SELECT SNO,GRADE FROM deleted

OPEN C1 --打开游标

WHILE 1=1 --循环

BEGIN

FETCH NEXT FROM C1 INTO @SNO, @GRADE --读游标

IF @@fetch_status<>0 --如果读完了

BREAK

IF @GRADE IS NOT NULL

UPDATE STUDENT SET CCOUNT=CCOUNT-1,

GTOTAL=GTOTAL-@GRADE WHERE SNO=@sno

END

CLOSE C1

DEALLOCATE C1

GO

Oracle数据库基本知识点

1、数据库基本语句 (1)表结构处理 创建一个表:cteate table 表名(列1 类型,列2 类型); 修改表的名字 alter table 旧表名 rename to 新表名 查看表结构 desc 表名(cmd) 添加一个字段 alter table 表名 add(列类型); 修改字段类型 alter table 表名 modify(列类型); 删除一个字段 alter table 表名 drop column列名; 删除表 drop table 表名 修改列名 alter table 表名 rename column 旧列名 to 新列名; (2)表数据处理 增加数据:insert into 表名 values(所有列的值); insert into 表名(列)values(对应的值); 更新语句:update 表 set 列=新的值,…[where 条件] 删除数据:delete from 表名 where 条件 删除所有数据,不会影响表结构,不会记录日志, 数据不能恢复--》删除很快: truncate table 表名 删除所有数据,包括表结构一并删除: drop table 表名 去除重复的显示:select distinct 列 from 表名 日期类型:to_date(字符串1,字符串2)字符串1是日期的字 符串,字符串2是格式 to_date('1990-1-1','yyyy-mm-dd')-->返回日期的 类型是1990-1-1 (3)查询语句 1)内连接 select a.*,b.* from a inner join b on a.id=b.parent_id

(整理)SQLServer数据库基本知识点.

SQL Server 数据库基本知识点一、数据类型

二、常用语句 (用到的数据库Northwind) 查询语句 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。例如,下面的语句查询Customers 表中公司名称为“Alfreds Futterkiste”的ContactName字段和Address字段。 SELECT ContactName, Address FROM Customers WHERE CompanyName='Alfreds Futterkiste' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示Customers表中所有列的数据: SELECT * FROM Customers 2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: SELECT ContactName, Address FROM Customers 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题 as 列名 列名列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题: SELECT ContactName as 联系人名称, Address as地址 FROM Customers 4、删除重复行

SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 SELECT DISTINCT(Country) FROM Customers 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT 时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: SELECT TOP 2 * FROM Customers SELECT TOP 20 PERCENT * FROM Customers (二)FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在Orders和Customers表中同时存在CustomerID列,在查询两个表中的CustomerID时应 使用下面语句格式加以限定: select * from Orders,Customers where Orders.CustomerID =Customers.CustomerID 在FROM子句中可用以下两种格式为表或视图指定别名: 表名 as 别名 表名别名 select * from Orders as a,Customers as b where a.CustomerID =b.CustomerID SELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。 例如: select * from Customers where CustomerID in (select CustomerID from Orders where EmployeeID=4) 此例中,将SELECT返回的结果集合给予一别名CustomerID,然后再从中检索数据。 (三) 使用WHERE子句设置查询条件 WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:select CustomerID from Orders where EmployeeID=4

数据库管理系统

8.1 知识点 8.1.1 数据库管理系统概述 DBMS的系统目标 数据库管理系统是数据库系统的核心,从用户角度来看,一个DBMS应尽可能具备的 系统目标是:用户界面友好、结构清晰和开放性。 DBMS的基本功能 DBMS主要是实现对共享数据有效的组织、管理和存取,所以DBMS具有以下基本功能: 1.数据库定义功能 2.数据存取功能 3.数据库管理功能 4.数据组织、存储和管理功能 5.数据库的建立和维护功能 6.其他如DBMS与其他软件系统的通信功能,与其他DBMS或文件系统的数据转换 功能 8.1.2 数据库管理系统的结构和运行过程 DBMS程序模块的组成 DBMS是一种由各种模块组成系统软件,主要的模块有: 1.据定义方面的程序模块 数据定义的程序模块主要包括如下内容: 文本框: 考纲要求 2.数据库设计的目标、内容和方法 3.数据库应用开发工具 4.数据库技术发展 (1)模式、外模式、存储模式的定义模块,在RDBMS中就是创建数据库、创建表、 创建视图、创建索引等定义模块。 (2)安全性定义,如授权访问。 (3)完整性定义,如主键、外键、以及其他一些完整性约束条件 2.数据操纵方面的程序模块 数据操纵的程序模块主要包括如下内容: (1)查询处理程序模块 (2)数据更新程序模块 (3)交互式查询程序模块 (4)嵌入式查询程序模块 3.数据库运行管理的程序模块 数据库运行管理主要包括:系统启动的初始化、建立DBMS的系统缓冲区、建立系统 工作区、打开数据字典、安全性检查、完整性检查、并发控制、事务管理、运行日志管理等。 4.据库组织、存储和管理方面的程序模块 数据库组织、存储和管理方面的程序模块主要包括:文件读写和维护、存储路径管理 和维护、缓冲区管理等。 5.据库建立、维护和其他方面的程序模块 数据库建立、维护和其他方面的程序模块主要包括初始装入程序、转储程序、恢复程

数据库知识点整理(全)

UNIT 1 四个基本概念 1.数据(Data):数据库中存储的基本对象 2.数据库的定义 :数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据集合 3.数据库管理系统(简称DBMS):位于用户与操作系统之间的一层数据管理软件(系统软件)。 用途:科学地组织和存储数据;高效地获取和维护数据 主要功能: 数据定义功能; 数据操纵功能; 数据库的运行管理; 数据库的建立和维护功能(实用程序) 4.数据库系统(Database System,简称DBS):指在计算机系统中引入数据库后的系统 数据库系统的构成 数据库 数据库管理系统(及其开发工具) 应用系统 数据库管理员(DBA)和用户 数据管理技术的发展过程 人工管理阶段 文件系统阶段 数据库系统阶段 数据库系统管理数据的特点如下 (1) 数据共享性高、冗余少;(2) 数据结构化;(3) 数据独立性高;(4) 由DBMS进行统一的数据控制功能 数据模型 用来抽象、表示和处理现实世界中的数据和信息的工具。通俗地讲数据模型就是现实世界数据的模拟。 数据模型三要素。 数据结构:是所研究的对象类型的集合,它是刻画一个数据模型性质最重要的方面;数据结构是对系统静态特性的描述 数据操作:对数据库中数据允许执行的操作及有关的操作规则;对数据库中数据的操作主要有查询和更改(包括插入、修改、删除);数据操作是对系统动态特性的描述 数据的约束条件:数据及其联系应该满足的条件限制 E-R图 实体:矩形框表示 属性:椭圆形(或圆角矩形)表示

联系:菱形表示 组织层数据模型 层次模型 网状模型 关系模型(用“二维表”来表示数据之间的联系) 基本概念: 关系(Relation) :一个关系对应通常说的一张表 元组(记录): 表中的一行 属性(字段):表中的一列,给每一个属性名称即属性名 分量:元组中的一个属性值,分量为最小单位,不可分 主码(Key):表中的某个属性组,它可以唯一确定一个元组。 域(Domain):属性的取值范围。 关系模式:对关系的描述。一般表示为:关系名(属性1,属性2,…,属性n)关系模型的数据完整性约束 实体完整性 参照完整性 用户定义的完整性 DBS三级模式结构: 外模式、概念模式、内模式(一个数据库只有一个内模式)

《数据库原理》知识点总结

《数据库原理》知识点总结标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

目录未找到目录项。 一数据库基础知识(第1、2章) 一、有关概念 1.数据 2.数据库(DB) 3.数据库管理系统(DBMS) Access 桌面DBMS VFP SQL Server Oracle 客户机/服务器型DBMS MySQL DB2 4.数据库系统(DBS) 数据库(DB) 数据库管理系统(DBMS) 开发工具 应用系统 二、数据管理技术的发展 1.数据管理的三个阶段 概念模型 一、模型的三个世界 1.现实世界

2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS 无关。 3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。 注意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性 1.实体:客观存在并可相互区别的事物。 2.属性: 3.关键词(码、key):能唯一标识每个实体又不含多余属性的属性组合。 一个表的码可以有多个,但主码只能有一个。 例:借书表(学号,姓名,书号,书名,作者,定价,借期,还期) 规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。 4.实体型:即二维表的结构 例 student(no,name,sex,age,dept) 5.实体集:即整个二维表 三、实体间的联系: 1.两实体集间实体之间的联系 1:1联系 1:n联系 m:n联系 2.同一实体集内实体之间的联系 1:1联系 1:n联系 m:n联系 四、概念模型(常用E-R图表示) 属性: 联系: 说明:① E-R图作为用户与开发人员的中间语言。 ② E-R图可以等价转换为层次、网状、关系模型。 举例: 学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授 和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。

《数据库原理》知识点总结 (3)

目录未找到目录项。 一数据库基础知识(第1、2章) 一、有关概念 1.数据 2.数据库(DB) 3.数据库管理系统(DBMS) Access 桌面DBMS VFP SQL Server Oracle 客户机/服务器型DBMS MySQL DB2 4.数据库系统(DBS) 数据库(DB) 数据库管理系统(DBMS) 开发工具 应用系统 二、数据管理技术的发展 1.数据管理的三个阶段 概念模型 一、模型的三个世界 1.现实世界 2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS无关。 3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。

注意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性 1.实体:客观存在并可相互区别的事物。 2.属性: 3.关键词(码、key):能唯一标识每个实体又不含多余属性的属性组合。 一个表的码可以有多个,但主码只能有一个。 例:借书表(学号,姓名,书号,书名,作者,定价,借期,还期) 规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。 4.实体型:即二维表的结构 例student(no,name,sex,age,dept) 5.实体集:即整个二维表 三、实体间的联系: 1.两实体集间实体之间的联系 1:1联系 1:n联系 m:n联系 2.同一实体集内实体之间的联系 1:1联系 1:n联系 m:n联系 四、概念模型(常用E-R图表示) 属性: 联系: 说明:①E-R图作为用户与开发人员的中间语言。 ②E-R图可以等价转换为层次、网状、关系模型。 举例: 学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。

《数据库原理》知识点总结

、模型的三个世界 1 ?现实世界 3 ?机器世界:将 E-R 图转换为某一种数据模型,数据模型与 注意:信息世界又称概念模型,机器世界又称数据模型 二、实体及属性 1.实体:客观存在并可相互区别的事物。 2 .属性: 3 .关键词:能唯一标识每个实体又不含多余属性的属性组合。 一个表的码可以有多个,但主码只能有一个。 4 .实体型:即二维表的结构 数据库系统概述 一、有关概念 1.数据 2 .数据库(DB ) 3 ?数据库管理系统 DBMS ) ccess 桌面DBMS SQL Server 客户机/服务器型 DBMS Oracle MySQL DB2 4 .数据库系统( DBS ) 厂数据库(DB ) J 数据库管理系统 幵发工具 DBMS ) 应用系统 二、数据管理技术的发展 1 ?数据管理的三个阶段 (1)人工管理阶段 (2)文件系统阶段 (3 )数据库系统阶段 概念模型 2 ?信息世界:即根据需求分析画概念模型(即 E-R 图),E-R 图与 DBMS 无关。 DBMS 相关。

5?实体集:即整个二维表三、实体间的联系:

1.两实体集间实体之间的联系 1:1 联系、 1:n 联系、 m :n 联系 2.同一实体集内实体之间的联系 1:1 联系、 1:n 联系、 m :n 联系 1.重要术语: 关系:一个关系就是一个二维表; 元组:二维表的一行,即实体; 关系模式:在实体型的基础上,注明主码。 关系模型:指一个数据库中全部二维表结构的集合。 数据库系统结构 数据库系统的 模式结构 三级模式 1.模式:是数据库中全体数据的逻辑结构和特征的描述。 ①模式只涉及数据库的结构;模式既不涉及应用程序,又不涉及数据库结构的存储; ② 外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。 特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。 内模式:描述数据库结构的存储,但不涉及物理记录。 外模式 /模式映象:保证数据库的逻辑独立性; 模式 /内模式映象:保证数据库的物理独立性; 使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。 数据的存取完全由 DBMS 管理,用户不必考虑存取路径。 数据库管理系统 DBMS 的功能:负责对数据库进行统一的管理与控制。 数据定义:即定义数据库中各对象的结构 数据操纵:包括对数据库进行查询、插入、删除、修改等操作。 数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。 一、层次模型: 用树型结构表示实体之间的联系。 二、网状模型: 用图结构表示实体之间的联系。 三、关系模型: 用二维表表示实体之间的联系。 数据模型 2. DBMS 的组成: DDL 4五 厶" 语言 DML 语言 2. 两级映象 3. 两级映象的意义 1.

数据库原理王珊知识点整理

目录 1.1.1 四个基本概念 (1) 数据(Data) (1) 数据库(Database,简称DB) (1) 长期储存在计算机内、有组织的、可共享的大量数据的集合、 (1) 基本特征 (1) 数据库管理系统(DBMS) (1) 数据定义功能 (1) 数据组织、存储和管理 (1) 数据操纵功能 (2) 数据库的事务管理和运行管理 (2) 数据库的建立和维护功能(实用程序) (2) 其它功能 (2) 数据库系统(DBS) (2) 1.1.2 数据管理技术的产生和发展 (3) 数据管理 (3)

数据管理技术的发展过程 (3) 人工管理特点 (3) 文件系统特点 (4) 1.1.3 数据库系统的特点 (4) 数据结构化 (4) 整体结构化 (4) 数据库中实现的是数据的真正结构化 (4) 数据的共享性高,冗余度低,易扩充、数据独立性高 (5) 数据独立性高 (5) 物理独立性 (5) 逻辑独立性 (5) 数据独立性是由DBMS的二级映像功能来保证的 (5) 数据由DBMS统一管理和控制 (5) 1.2.1 两大类数据模型:概念模型、逻辑模型和物理模型 (6) 1.2.2 数据模型的组成要素:数据结构、数据操作、数据的完整性约束条件. 7 数据的完整性约束条件: (7)

关系数据模型的优缺点 (8) 1.3.1 数据库系统模式的概念 (8) 型(Type):对某一类数据的结构和属性的说明 (8) 值(Value):是型的一个具体赋值 (8) 模式(Schema) (8) 实例(Instance) (8) 1.3.2 数据库系统的三级模式结构 (9) 外模式[External Schema](也称子模式或用户模式), (9) 模式[Schema](也称逻辑模式) (9) 内模式[Internal Schema](也称存储模式) (9) 1.3.3 数据库的二级映像功能与数据独立性 (9) 外模式/模式映像:保证数据的逻辑独立性 (10) 模式/内模式映象:保证数据的物理独立性 (10) 1.4 数据库系统的组成 (10) 数据库管理员(DBA)职责: (10)

数据库基础知识试题(含答案)

数据库基础知识试题 部门____________ __________ 日期_________ 得分__________ 一、不定项选择题(每题1.5分,共30分) 1.DELETE语句用来删除表中的数据,一次可以删除( )。D A .一行 B.多行 C.一行和多行 D.多行 2.数据库文件中主数据文件扩展名和次数据库文件扩展名分别为( )。C A. .mdf .ldf B. .ldf .mdf C. .mdf .ndf D. .ndf .mdf 3.视图是从一个或多个表中或视图中导出的()。A A 表 B 查询 C 报表 D 数据 4.下列运算符中表示任意字符的是( )。B A. * B. % C. LIKE D._ 5.()是SQL Server中最重要的管理工具。A A.企业管理器 B.查询分析器 C.服务管理器 D.事件探察器 6.()不是用来查询、添加、修改和删除数据库中数据的语句。D A、SELECT B、INSERT C、UPDATE D、DROP 7.在oracle中下列哪个表名是不允许的()。D A、abc$ B、abc C、abc_ D、_abc 8.使用SQL命令将教师表teacher中工资salary字段的值增加500,应该使用的命令 是()。D A、Replace salary with salary+500 B、Update teacher salary with salary+500 C、Update set salary with salary+500 D、Update teacher set salary=salary+500 9.表的两种相关约束是()。C

数据库系统概论知识点

第一章:绪论 数据库(DB):长期存储在计算机内、有组织、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有娇小的冗余度、交稿的数据独立性和易扩展性,并可为各种用户共享。 数据库管理系统(DBMS):位于用户和操作系统间的数据管理系统的一层数据管理软件。用途:科学地组织和存储数据,高效地获取和维护数据。包括数据定义功能,数据组织、存储和管理,数据操纵功能,数据库的事物管理和运行管理,数据库的建立和维护功能,其他功能。 数据库系统(DBS):在计算机系统中引入数据库后的系统,一般由数据库。数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。目的:存储信息并支持用户检索和更新所需的信息。 数据库系统的特点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;数据由DBMS统一管理和控制。 概念模型实体,客观存在并可相互区别的事物称为实体。 属性,实体所具有的某一特性称为属性。 码,唯一标识实体的属性集称为码。 域,是一组具有相同数据类型的值的集合。 实体型,具有相同属性的实体必然具有的共同的特征和性质。 实体集,同一类型实体的集合称为实体集。 联系 两个实体型之间的联系一对一联系;一对多联系;多对多联系 关系模型关系,元组,属性,码,域,分量,关系模型 关系数据模型的操纵与完整性约束关系数据模型的操作主要包括查询,插入,删除和更新数据。这些操作必须满足关系完整性约束条件。关系的完整性约束条件包括三大类:实体完整性,参照完整性和用户定义的完整性。 数据库系统三级模式结构外模式,模式,内模式 模式:(逻辑模式)数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。一个数据库只有一个模式。

学生信息管理系统数据库设计

数据库技术 实 验 报 告 学校 专业 年级 学号 姓名 年月日

学生信息管理系统数据库设计 一、数据库的建立 1. 建库说明 数据库的建立用企业管理器,基本表的建立用SQL语言。 数据库名称为:学生信息管理系统。 2. 建立数据库命令如下: Create database 学生信息管理系统 二、数据表的建立 1. 建表 命令: CREATE TABLE [dbo].[学生档案信息] ( [Sno] [varchar] (50) NOT NULL , [Sname] [char] (10) NOT NULL , [Ssex] [char] (10) NOT NULL , [Sclass] [char] (10) NOT NULL , [Birth] [int] (4) NOT NULL , [Saddress] [char] (10) NOT NULL , [Sdept] [varchar] (50) NOT NULL , [Stime] [int] (4) NOT NULL ,

) ON [PRIMARY] GO (2)班级设置信息表: 命令: CREATE TABLE [dbo].[班级设置信息] ( [Sgrade] [char] (10) NOT NULL , [Szclass] [int] (4) NOT NULL , [Syear] [char] (5) NOT NULL , [Scroom] [char] (5) NOT NULL , [Steacher] [char] (10) NOT NULL , [Stotal] [int] (4) NOT NULL , [Ssub] [varchar] (8000) NOT NULL , ) ON [PRIMARY] GO (3)院系信息表: 命令: CREATE TABLE [dbo].[院系信息] ( [Syname] [varchar] (50) NOT NULL , [Spro] [varchar] (1000) NOT NULL ,

数据库模型基础知识及数据库基础知识总结

数据库模型基础知识及数据库基础知识总结 数据库的4个基本概念 1.数据(Data):描述事物的符号记录称为数据。 2.数据库(DataBase,DB):长期存储在计算机内、有组织的、可共享的大量数据的集合。 3.数据库管理系统(DataBase Management System,DBMS 4.数据库系统(DataBase System,DBS) 数据模型 数据模型(data model)也是一种模型,是对现实世界数据特征的抽象。用来抽象、表示和处理现实世界中的数据和信息。数据模型是数据库系统的核心和基础。数据模型的分类 第一类:概念模型 按用户的观点来对数据和信息建模,完全不涉及信息在计算机中的表示,主要用于数据库设计现实世界到机器世界的一个中间层次 ?实体(Entity): 客观存在并可相互区分的事物。可以是具体的人事物,也可以使抽象的概念或联系 ?实体集(Entity Set): 同类型实体的集合。每个实体集必须命名。 ?属性(Attribute): 实体所具有的特征和性质。 ?属性值(Attribute Value): 为实体的属性取值。 ?域(Domain): 属性值的取值范围。 ?码(Key): 唯一标识实体集中一个实体的属性或属性集。学号是学生的码?实体型(Entity Type): 表示实体信息结构,由实体名及其属性名集合表示。如:实体名(属性1,属性2,…) ?联系(Relationship): 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体型内部的联系(各属性)和实体型之间的联系(各实体集)。有一对一,一对多,多对多等。 第二类:逻辑模型和物理模型 逻辑模型是数据在计算机中的组织方式

常用数据库管理系统介绍

常用数据库管理系 统介绍 1

常见数据库管理系统简介 当前市场上比较流行的数据库管理系统产品主要是Oracle、IBM、Microsoft和Sybase、mysql等公司的产品,下面对常见的几种系统做简要的介绍: 11.4.1 Oracle Oracle数据库被认为是业界当前比较成功的关系型数据库管理系统。Oracle公司是世界第二大软件供应商,是数据库软件领域第一大厂商(大型机市场除外)。Oracle的数据库产品被认为是运行稳定、功能齐全、性能超群的贵族产品。这一方面反映了它在技术方面的领先,另一方面也反映了它在价格定位上更着重于大型的企业数据库领域。对于数据量大、事务处理繁忙、安全性要求高的企业,Oracle无疑是比较理想的选择(当然用户必须在费用方面做出充分的考虑,因为Oracle数据库在同类产品中是比较贵的)。随着Internet的普及,带动了网络经济的发展,Oracle适时的将自己的产品紧密的和网络计算结合起来,成为在Internet应用领域数据库厂商的佼佼者。Oracle数据库能够运行在UNIX、Windows等主流操作系统平台,完全支持所有的工业标准,并获得最高级别的ISO标准安全性认证。Oracle采用完全开放策略,能够使客户选择最适合的解决方案, 2

同时对开发商提供全力支持。Oracle数据库系统的特点有: ?无范式要求,可根据实际系统需求构造数据库。 ?采用标准的SQL结构化查询语言。 ?具有丰富的开发工具,覆盖开发周期的各阶段。 ?数据类型支持数字、字符、大至2GB的二进制数据,为数据库的面向对象存储提供数据支持。 ?具有第四代语言的开发工具(SQL*FORMSSQL*REPORTS、SQL*MENU等)。 ?具有字符界面和图形界面,易于开发。Oracle7以后得版本具有面向对象的开发环境CDE2。 ?经过SQL*DBA控制用户权限,提供数据保护功能,监控数据库的运行状态,调整数据缓冲区的大小。 ?分布优化查询功能。 ?具有数据透明、网络透明,支持异种网络、异构数据库系统。并行处理采用动态数据分片技术。 ?支持客户机/服务器体系结构及混合的体系结构(集中式、分布式、客户机/服务器)。 ?实现了两阶段提交、多线索查询手段。 ?支持多种系统平台(Linux、HPUX、SUNOS、OSF/1、VMS、 Windows、OS/2)。 3

数据库系统基本知识讲解

三、数据库的概念与用途 数据库的概念 什么是数据库呢当人们从不同的角度来描述这一概念时就有不同的定义(当然是描述性的)。例如,称数据库是一个“记录保存系统”(该定义强调了数据库是若干记录的集合)。又如称数据库是“人们为解决特定的任务,以一定的组织方式存储在一起的相关的数据的集合”(该定义侧重于数据的组织)。更有甚者称数据库是“一个数据仓库”。当然,这种说法虽然形象,但并不严谨。严格地说,数据库是“按照数据结构来组织、存储和管理数据的仓库”。在经济管理的日常工作中,常常需要把某些相关的数据放进这样“仓库”,并根据管理的需要进行相应的处理。例如,企业或事业单位的人事部门常常要把本单位职工的基本情况(职工号、姓名、年龄、性别、籍贯、工资、简历等)存放在表中,这张表就可以看成是一个数据库。有了这个“数据仓库”我们就可以根据需要随时查询某职工的基本情况,也可以查询工资在某个范围内的职工人数等等。这些工作如果都能在计算机上自动进行,那我们的人事管理就可以达到极高的水平。此外,在财务管理、仓库管理、生产管理中也需要建立众多的这种“数据库”,使其可以利用计算机实现财务、仓库、生产的自动化管理。 给数据库下了一个比较完整的定义:数据库是存储在一起的

相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务;数据的存储独立于使用它的程序;对数据库插入新数据,修改和检索原有数据均能按一种公用的和可控制的方式进行。当某个系统中存在结构上完全分开的若干个数据库时,则该系统包含一个“数据库集合”。 数据库的优点 人事基本档案 使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等

数据库知识点总结

期末复习顺便总结下,书本为高等教育出版社的《数据库系统概论》。 第一章知识点 数据库是长期储存之计算机内的、有组织的、可共享的大量数据的集合。?1,数据库数据特点P4 永久存储,有组织,可共享。?2,数据独立性及其如何保证P10,P34 逻辑独立性:用户的应用程序与数据库的逻辑结构互相独立。(内模式保证) 物理独立性:用户的应用程序与存储在磁盘上的数据库中的数据相互(外模式保证) 3,数据模型的组成要素P13 数据结构、数据操作、完整性约束。 4,用ER图来表示概念模型P17 实体、联系和属性。联系本身也是一种实体型,也可以有属性。 第二章 1,关系的相关概念(如关系、候选码、主属性、非主属性) P42-P44单一的数据结构----关系。现实世界的实体以及实体间的各种联系均用关系来表示。 域是一组具有相同数据类型的值的集合。 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码 关系模式的所有属性组是这个关系模式的候选码,称为全码 若一个关系有多个候选码,则选定其中一个为主码 候选码的诸属性称为主属性 不包含在任何侯选码中的属性称为非主属性 2关系代数运算符P52

自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系。 给定关系r(R)和s(S), S? R,则r ÷s是最大的关系t(R-S) 满足tx s?r 3,关系代数表达式 第三章

1,SQL的特点P79-P80 1. 综合统一 2. 高度非过程化 3. 面向集合的操作方式 4.以同一种语法结构提供多种使用方式 5. 语言简洁,易学易用 2,基本表的定义、删除和修改P84-P87 PRIMARY KEY PRIMARYKEY (Sno,Cno) UNIQUE FOREIGN KEY(Cpno) REFERENCES Course(Cno) ALTER TABLE <表名> [ ADD <新列名><数据类型>[完整性约束] ] [ DROP<完整性约束名>] [ALTER COLUMN<列名> <数据类型> ]; DROP TABLE<表名>[RESTRICT|CASCADE]; 3,索引的建立与删除P89-P90 CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…); 唯一索引UNIQUE、非唯一索引或聚簇索引CLUSTER

数据库信息管理系统JAVA实现

任课教师签名: 日期: 注:1. 以论文或大作业为考核方式的课程必须填此表,综合考试可不填。“简要评语” 栏缺填无效。 2. 任课教师填写后与试卷一起送院系研究生秘书处。 3. 学位课总评成绩以百分制计分。

图书管理信息数据库系统-JAVA实现 目录

一、需求说明 1、任务概述 满足在线书店管理的需求,实现管理流程。主要功能包括用户注册、用户登录、购物商场、在线购物、订单管理、系统导航、用户退出、权限控制等。 2、需求分析 功能需求 在线书店系统作为一个网络购物网站,它仿照淘宝网等知名购物网站,其总体要求即实现购物网站的基本功能。具体功能要求如下: 1)商品管理。这是管理员的功能。要实现增删改查图书、仓库管理的功能。 2)用户管理。包括用户注册、用户登录和用户退出三个方面,用户还可以更改部分注册信息。用户登录成功后,在首页面 可看到书籍展示。 3)购物车管理。可以修改、删除选购书籍,并保存购物列表。当用户退出时或session失效时,自动保存用户购物车列表 书籍。 4)订单管理。要实现生成订单,删除、修改、查询订单,提交订单。提交后的订单,只能查看订单信息,不能进行修改, 也不能删除。 5)权限控制。主页面和注册页面任何人都可以访问,其他页面,只有已经登录成功的用户才可访问;若用户还没有登录系 统,则返回到登录页面。 、数据描述 用户类型、权限类型、管理员等。 动态数据 新用户的注册、新书的录入、购书的信息、生成订单等等。 数据库介绍 数据库名称为shop,有八个表,分别为管理员表(Admin)、用户注册表(User)、图书信息登记表(Book)、图书上架信息登记表(Storage)、购物车图书列表(Shopcar),用户购买书籍的订单表(Order)、订单明细表(OrderBook)、购物车表(CartItem)。 3、系统功能概要图

数据库基础知识考试及答案

数据库系统概论复习参考题 一、选择题 1、描述事物的符号记录称为:( B ) A) 信息 B) 数据 C) 记录 D) 记录集合 2、( A )是位于用户和操作系统之间的一层数据管理软件。 A) 数据库管理系统 B) 数据库系统C) 数据库 D) 数据库运用系统 3、在人工管理阶段,数据是( B )。 A) 有结构的 B) 无结构的 C) 整体无结构,记录有结构 D) 整体结构化的 4、在文件系统阶段,数据是(B )。 A) 无独立性 B) 独立性差 C) 具有物理独立性 D)有逻辑独立性 5、在数据库系统阶段,数据是(D )。 A) 有结构的 B) 无结构的 C) 整体无结构,记录内有结构 D) 整体结构化的 6、数据库系统阶段,数据( D )。 A) 具有物理独立性,没有逻辑独立性 B) 具有物理独立性和逻辑独立性 C) 独立性差D)具有高度的物理独立性和一定程度的逻辑独立性 7、(B )属于信息世界的模型,实际上是现实世界的一个中间层次。 A)数据模型 B)概念模型C) 物理模型 D) 关系模型 8、在对层次数据库进行操作时,如果删除双亲结点,则相应的子女结点值也被同时删除。这是有层次模型的( C )决定的。 A) 数据结构 B) 数据操作C)完整性约束 D) 缺陷 9、( A )是数据结构,关系操作集合和完整性约束三部分组成。 A)关系模型 B) 关系 C) 关系模式 D) 关系数据库 10、在关系模型中,一组具有相同数据类型的值的集合称为( D ) A) 关系 B) 属性 C) 分量 D)域 11、关系是------。( D ) A) 型 B) 静态的 C) 稳定的 D)关系模式的一个实例 12、数据结构设计中,用E—R图来描述信息结构但不涉及信息在计算机中的表示,这是数据库设计的( B )阶段。 A) 需求分析 B) 概念设计 C) 物理设计 D) 逻辑设计 13、非关系模型中数据结构的基本单位是( C )。 A) 两个记录型间的联系 B) 记录 C) 基本层次联系 D) 实体间多对多的联系 14、在数据模型的三要素中,数据的约束条件规定及其联系的( A ) 。 A) 制约规则 B) 动态特性 C) 静态特性 D) 数据结构 15、若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为( B )。 A) 唯一码 B) 候选码 C) 主属性 D) 外码 16、候选码中的属性成为( B )。 A) 复合属性 B) 主属性 C) 非主属性 D) 码属性 17、候选码中的属性成为( B ) A) 复合属性 B) 主属性 C) 非主属性 D) 码属性

access数据库知识点总结

SELECT查询包括条件项、内连接、分组汇总(含HAVING)、排序、简单子查询(不考EXIS TS)及一些输出选项。 数据库管理系统(DBMS)特点(1)数据结构化(2)数据共享性好、冗余度低、(3)数据独立性强(4)DBMS统一管理。 数据库(DB),就是相关联的数据的集合。 数据库系统(DBS),是指在计算机中引入数据库后的系统构成,由计算机软硬件、数据库、D BMS、应用程序以及数据库管理员(DBA)和数据库用户构成。 关系模型是一种数据模型关系模型中最重要的概念就是关系。关系(Relation),直观的看,就是由行和列组成的二维表,一个关系就是一张二维表。 关系中的一列称为关系的一个属性(Attribute),一行称为关系的一个元组(Tuple)。 组称为候选键(Candidate Key),从候选键中挑选一个作为该关系的主键(Primary Key)。一个关系中存放的另一个关系的主键称为外键(Foreign Key)。并不是任何的二维表都可以称为关系。关系具有以下特点: ?关系中的每一列属性都是原子属性,即属性不可再分; ?关系中的每一列属性都是同质的,即每一个元组的该属性取值都表示同类信息; ?关系中的属性间没有先后顺序; ?关系中元组没有先后顺序; ?关系中不能有相同的元组。 关系模型,就是对一个数据处理系统中所有数据对象的数据结构的形式化描述。将一个系统中所有不同的关系模式描述出来,就建立了该系统的关系模型。 关系数据库,是依据关系模型建立的数据库,是目前各类数据处理系统中最普遍采用的数据库类型。依照关系理论设计的DBMS,称为关系DBMS。数据库设计指:对于给定的应用环境,设计构造最优的数据库结构,建立数据库及其应用系统,使之能有效地存储数据,对数据进行操作和管理,以满足用户各种需求的过程。 联系有三种类型,转化为关系模式后,与其他关系模式可进行合并优化。 1:1的联系,一般不必要单独成为一个关系模式,可以将它与联系中的任何一方实体转化成的关系模式合并(一般与元组较少的关系合并)。 1:n的联系也没有必要单独作为一个关系模式,可将其与联系中的n方实体转化成的关系模式合并。 m:n的联系必须单独成为一个关系模式,不能与任何一方实体合并。

数据库管理系统

9.2 一个完整的数据库管理系统实例 很多人都有过到书屋租书的经历,我们往往会为老板的健忘以及业务的混乱恼火!那么我们就来建立图书租借系统为那些老板解忧吧! 9.2.1 数据分析并创建表 书店的业务看似简单,其实也需要仔细分析才能理出头绪。下面列出了需要的数据。 ●与顾客相关的数据:顾客姓名,顾客编号,电话,是否会员,会员编号,地址。 ●与书籍相关的数据:图书编号,几册装,图书名称,作者编号,作者,类型编号, 类型,出版社编号,出版社名称,电话,一般价,会员价。 ●租借记录:顾客姓名,借阅日期,是否归还,归还日期,借阅图书。 ●会员缴款记录:缴款编号,缴款日期,客户编号,缴款金额。 以上列出了需要的数据,但是依照上述数据建立的表格会出现数据的重复及冗余。因此,我们要在分析的基础上建立表间的关联。很显然,与书籍有关的数据可以分拆成四个表,分别为: ●图书清单表:图书编号(索引),几册装,一般价,会员价,图书名称。 ●作者名单表:作者编号(索引),姓名。 ●图书类型表:类型编号(索引),类型。 ●图书名单表:图书编号(索引),图书名称。 ●出版社名单:出版社编号(索引),出版社名称,电话。 在表的分析基础上,我们可以设计出8个表,分别为“书籍清单”,“顾客名单”和“租借记录”3个主表,以及“书籍类型”、“书籍名单”、“作者名单”、“出版社名单”与“会员缴款记录”5个附表。建立的关系如图1-1所示。 图9-1 建立的表关系视图

接下来我们将分别建立这8个表。 (1)书籍清单表:首先鼠标单击任务窗格中【新建】|【空数据库】选项,打开如图9-2所示窗口。 图9-2 新建空数据库窗口 在上图中选择保存路径及名称,本例保存在E:/数据库实例文件夹下,命名为书籍租借管理系统。鼠标单击【创建】按钮。打开数据库窗口如图9-3所示。 图9-3 数据库窗口 在这个窗口里就可以利用以前学的知识建立表了,下面以顾客记录表为例,其它表大家自己创建。首先选择表对象,鼠标单击【新建】按钮,选择“设计视图”后,单击【确定】按钮,如图9-4所示。

数据库基础理论知识复习资料

数据:数据是记录下来的可以鉴别的符号。 数据模型:数据模型就是一种对客观事物抽象化的表现形式。分为(层次模型,关系模型,网络模型) 数据库:长期储存在计算机内、有组织的、可共享的大量数据的集合。数据库系统:指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统、应用系统、数据库管理员构成。数据库优点:数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的独立性和易扩展性,并能为多个用户所共享。 为什么要使用数据库?(1)数据结构化:数据结构化是数据库与文件系统的根本区别。在文件系统中独立的文件的记录内部是有结构的。传统文件的最简单形式是等长同格式的记录集合。在数据库系统中,实现了整体资料的结构化,把文件系统中简单的记录结构变成了记录和记录之间的联系所构成的结构化资料。在描述资料的时候,不仅要描述资料本身,还要描述资料之间的联系,把相关的资料有机地组织在一起。(2)资料共享性好,冗余度低,易扩充。(3)数据独立性好:数据库系统有三层结构:用户(局部)资料的逻辑结构、整体资料的逻辑结构和资料的物理结构。在这三层结构之间数据库系统提供了两层映象功能。首先是用户资料逻辑结构和整体资料逻辑结构之间的映象,这一映象保证了资料的逻辑独立性;当数据库的整体逻辑结构发生变化时,通过修改这层映象可使局部的逻辑结构不受影响,因此不必修改应用程序。另外一层映象是整体资料逻辑结构和资料物理结构之间的映象,它保证了资料的物理独立性:当资料的存储结构发生变化时,通过修改这层映象可使资料的逻辑结构不受影响,因此应用程序同样不必修改。(4)资料存取粒度小:文件系统中,资料存取的最小单位是记录;而在数据库系统中,资料存取的粒度可以小到记录中的一个数据项。因此数据库中资料存取的方式非常灵活,便于对资料的管理。(5)数据库管理系统(DBMS)对数据进行统一的管理和控制:DBMS不仅要有基本的数据管理功能,还要有如下的控制功能:①资料的完整性:保证资料的正确性,要求资料在一定的取值范围内或相互之间满足一定的关系。②资料的安全性:让每个用户只能按指定的权限访问资料,防止不合法地使用资料,造成资料的破坏和丢失。比如学生对于课程的成绩只能进行查询,不能修改。③并发控制:对多用户的并发操作加以协调和控制,防止多个进程同时存取、修改数据库中的资料时发生冲突、造成错误。④数据库的恢复:当数据库系统出现硬件软件的故障或者遇上误操作时,DBMS应该有能力把数据库恢复到最近某个时刻的正确状态上来。(6)为用户提供了友好的接口:用户可以使用交互式的命令语言。第 2 章 关系数据库 一、关系模型的组成:关系模型是关系数据库系统的基础模型。

相关文档
相关文档 最新文档