文档库 最新最全的文档下载
当前位置:文档库 › 大数据库原理张红娟问题详解

大数据库原理张红娟问题详解

大数据库原理张红娟问题详解
大数据库原理张红娟问题详解

11.(1)给学生表增加一个属性Nation,数据类型为Varchar(20):

ALTER TABLE Student

ADD Nation VARCHAR(20) NULL;

(2)删除Nation:

ALTER TABLE Student

Drop Column Nation;

(3)向成绩表中插入记录("2001110","3",80):

insert into Grade

values('2001110','3',80);

(4)将学号为2001110的学生的成绩改为70分:

update Grade

set Gmark='70'

where Sno='2001110';

(5)删除学号为'2001110'的学生的成绩记录:

delete from Grade

where Sno='2001110';

(6)在学生表的clno属性上创建一个名为'IX_Class'的索引,以班级号的升序排序:create index IX_Class

on Student (clno Asc);

(7)删除'IX_Class'索引:

drop index Student.IX_Class;

12.(1)找出所有被学生选修了的课程号:

select distinct Cno

from Grade;

(2)找出01311班女学生的个人信息:

select * from Student

where Clno='01311' and Ssex='女';

(3)找出01311班和01312班的学生姓名、姓名、出生年份

select Sname,Ssex,2014-Sage as [year of birth]

from Student

where Clno='01311' or Clno='01312';

(4)找出所有姓李的学生的个人信息

select * from Student where Sname like '李%';

(5)找出学生李勇所在班级的学生人数

select number

from student inner join class

on student.clno=class.clno

where sname='李勇'

(6)找出课程名为操作系统的平均成绩、最高分、最低分

select AVG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分from Grade

where Cno in

(select Cno from Course

where Cname='操作系统')

(7)选修了课程的学生人数;

select COUNT(distinct sno) 学生人数

from Grade

(8)选修了操作系统的学生人数;

select COUNT(sno) 学生人数

from course inner join grade

on https://www.wendangku.net/doc/0a18468420.html,o=https://www.wendangku.net/doc/0a18468420.html,o

where Cname='操作系统'

(9)找出2000级计算机软件班的成绩为空的学生姓名

select Sname 学生姓名

from

(Student inner join class on student.clno=class.clno)

inner join grade on student.sno=grade.sno

where Speciality='计算机软件'

and inyear='2000'

and gmark is null

13.

1)找出和李勇在同一个班级的学生信息

select *

from Student

where clno in

(select Clno from Student

where Sname='李勇')

2)找出所有与学生李勇有相同选修课程的学生信息

select * from Student

where sno in

(select sno from grade

where cno in

(select cno from grade

where sno in (select sno from student

where Sname='李勇')));

3)找出年龄介于学生李勇和25岁之间的学生信息

select * from Student

where Sage <25 and Sage>

(select Sage from Student where Sname='李勇')

4)找出选修了课程是操作系统的学生学号和姓名

select Sno 学号,Sname 姓名 from Student

where sno in

(select sno from Grade

where Cno in

(select Cno from Course

where cno in (select cno from course

where Cname='操作系统')));

5)找出没有选修1号课程的所有学生姓名

select Sname 姓名 from Student

where not exists

(select * from Grade

where Student.Sno=Grade.Sno and Cno='1')

6)找出选修了全部课程的学生姓名

select Sname 姓名 from Student

where not exists

(select * from Course

where not exists

(select * from Grade

where Student.Sno=Grade.Sno

and https://www.wendangku.net/doc/0a18468420.html,o=https://www.wendangku.net/doc/0a18468420.html,o))

14.

1)查询选修了3号课程的学生学号及成绩,并按成绩的降序排列select Sno 学号,Gmark 成绩 from Grade

where Cno='3'

order by Gmark desc

2)查询全体学生信息,要求查询结果按班级号升序排列,同一班级学生按年龄降序排列

select * from Student

order by Clno asc ,Sage desc

3)求每个课程号及相应的选课人数

select https://www.wendangku.net/doc/0a18468420.html,o 课程号,COUNT(https://www.wendangku.net/doc/0a18468420.html,o) 选课人数

from Grade join Course on https://www.wendangku.net/doc/0a18468420.html,o=https://www.wendangku.net/doc/0a18468420.html,o

group by https://www.wendangku.net/doc/0a18468420.html,o

4)查询选修了3门以上课程的学生学号

select Sno 学号 from Grade

group by Sno

having COUNT(Sno)>3

15.

1)将01311班的全体学生的成绩置零

update Grade set Gmark=0

where Sno in

(select Sno from Student

where Clno='01311')

2)删除2001级计算机软件的全体学生的选课记录

delete from Grade

where Sno in

(select Sno from Student

where Clno in

(select Clno from Class

where Speciality='计算机软件' and Inyear='2001'))

3)学生李勇已退学,从数据库中删除有关他的记录

delete from Grade

where Sno in

(select Sno from Student

where Sname='李勇')

update Class set Number=Number-1

where Clno in

(select Clno from Student

where Sname='李勇')

update Class set Monitor=case

when Monitor=(select Sno from Student where Sname='李勇')

then ''

end

from Class

where Clno in(select Clno from Student where Sname='李勇')

delete from Student

where Sname='李勇'

4)对每个班,求学生的平均年龄,并把结果存入数据库

alter table Class add Cage smallint null

update Class set Cage=case

when Clno='00311' then (select AVG(Sage) from Student where Clno='00311') when Clno='00312' then (select AVG(Sage) from Student where Clno='00312') when Clno='01311' then (select AVG(Sage) from Student where Clno='01311') end

from Class

16.

1、

create view stu_01311_1

as select student sno,sname,gmark

from student,grade

where cno=1

and clno=01311

and student.sno=grade.sno

with check option

2、

create view stu_01311_2

an select *

from stu_01311_1

where gmark<60

3.

create view stu_year(sno,sname,years)

as select sno,sname,year(getdate())-sage

from student

4.

select sname

from stu_year

where years>1990

5.

select *

from stu_year

where sno in

(select sno

from stu_01311_2)

第四章

10.

创建course表

create table course

(

cno char(1) primary key,

cname varchar(20) not null,

credit smallint check (credit in ('1','2','3','4','5','6','7'))

)

创建class表

create table class

(

clno char(5) primary key,

speciality varchar(20) not null,

inyear char(4) not null,

number integer check(number>1 and number<300),

monitor char(7)

)

创建student表

create table student

(

sno char(7) primary key,

sname varchar(20) not null,

ssex char(2) not null default '男' check (ssex in ('男','女')),

sage smallint check (sage>14 and sage <65),

clno char(5) not null foreign key(clno) references class(clno) on update cascade )

为class添加参照完整性

alter table class

add constraint monitor foreign key (monitor) references student(sno)

创建grade表

create table grade

(

sno

char(7) not null foreign key (sno) references student(sno) on update cascade on delete cascade,

cno char(1) not null foreign key (cno) references course (cno) on update cascade on

delete cascade,

gmark decimal(4,1) check(gmark>0 and gmark<100),

primary key (sno,cno)

)

11.

插入

create trigger stu_insert

on student

after insert

as

update class

set number=number+1

from class,inserted

where class.clno = inserted.clno;

删除

create trigger stu_delete

on student

after delete

as

update class

set number=number-1

from class,deleted

where class.clno = deleted.clno;

12.

create trigger stu_update

on class

after update

as

if update(monitor)

if

( select monitor from inserted ) not in

( select sno from student

where clno = (select clno from deleted ) )

begin

print 'there is not the new monitor in the class'

rollback transaction

end

13.

新建product表

create table product

( pno char(6) primary key,

pname varchar(20) not null,

price decimal(7,2) )

创建仓库表

create table warehouse

( whno char(3) primary key,

whname varchar(20) not null,

whaddress varchar(20) )

创建库存商品表

create table whproduct

( whno char(3) references warehouse(whno) on delete no action on update cascade, pno char(6) references product(pno) on delete cascade on update cascade, number int )

当新增商品是,自动生成改商品在所有仓库的库存记录,库存数量为0

create trigger tri_product

on product

after insert

as

begin

declare @pno char(3)

select @pno=pno from inserted

insert into whproduct

select whno,@pno,0

from warehouse

end

当新增商品是,自动生成改仓库所有商品的库存记录,库存数量为0

create trigger tri_warehouse

on warehouse

after insert

as

begin

declare @whno char(6)

select @whno=whno from inserted

insert into whproduct

select @whno,pno,0

from product

end

14.

1)用户张勇对Student表和Course表有Select权力。

Grant select on student to 张勇

Grant select on course to 张勇

2)把对表Student的INSERT和Delete

权限授予用户张三,并允许他再把此权限授予其他用户。

Grant insert,delete on student to 张三

with grant option

3)把查询Course表和修改属性Credit的权限授给用户李四。

Grant select,update(credit) on course to 李四

4)授予用户李勇敏对Student表的所有权力(读、插、删、改),并具有给其他用户授权的权力。

Grant all privilege on student to 李勇敏 with grant option

5)删除张勇对student表的select权

revoke select

on student

from 张勇;

删除张勇对course表的select权

revoke select

on course

from 张勇;

6)删除张三对student表的insert、delete权

revoke insert,delete

on student

from 张三

cascade;

10.创建一存储过程,根据学生学号查询该学生所以选修课的成绩,学号作为参数输入。create procedure proc_StuGmark

@stu_no char(7)

as

select Gmark,Cno

from Grade

where Sno = @Stu_no

执行过程:execute proc_StuGmark @stu_no = '2000101'

11.创建一存储过程,用来输入的参数:班级名,判断该班级中是否已有学生存在,若有,存储过程返回1;若没有,存储过程返回0

create procedure proc_IsThereStudent

@Class_clno char(5)

as

declare @count int

select @count = count(*)

from Student

where Clno = @Class_clno

if @count = 0

return 0

else

return 1

执行过程:declare @retvalve int

execute @retvalve = proc_IsThereStudent '00311'

if @retvalve = 0

Print '该班级没有学生!'

else

Print '该班级有学生!'

14.

10)

create function Sno_Gmark(@stuno char(7))

returns table

as

return (select Cno,Gmark

from Grade

where Sno = @stuno)

执行过程:select Cno,Gmark

from Sno_Gmark('2000101');

11)

create function class_Stu(@classno char(5))

returns int

as

begin

declare @count int

select @count = count(*)

from Student

where Clno = @classno

if @count <> 0

set @count = 1

return (@count)

end

执行过程:declare @retvalve int

execute @retvalve = class_Stu '00311' if @retvalve = 0

Print '该班级没有学生!'

else

Print '该班级有学生!'

数据库原理及应用教程第4版习题参考答案

习题参考答案 第1章习题参考答案 一、选择题 1. C 2. B 3. D 4. C 5. D 6. B 7. A 8. B 9. D 10. B 11. C 12. D 13. D 14. D 15. B 16. C 17. D 18. A 19. D 20. A 21. D 22. D 23. C 24. A 25. C 二、填空题 1. 数据库系统阶段 2. 关系 3. 物理独立性 4. 操作系统 5. 数据库管理系统(DBMS) 6. 一对多 7. 独立性 8. 完整性控制 9. 逻辑独立性 10. 关系模型 11. 概念结构(逻辑) 12. 树有向图二维表嵌套和递归 13. 宿主语言(或主语言) 14. 数据字典 15. 单用户结构主从式结构分布式结构客户/服务器结构浏览器/服务器结构 16. 现实世界信息世界计算机世界 三、简答题 1、简述数据库管理技术发展的三个阶段。各阶段的特点是什么? 答:数据库管理技术经历了人工管理阶段、文件系统阶段和数据库系统阶段。 (1)、人工管理数据的特点: A、数据不保存。 B、系统没有专用的软件对数据进行管理。 C、数据不共

享。D、数据不具有独立性。 (2)、文件系统阶段的特点: A、数据以文件的形式长期保存。 B、由文件系统管理数据。 C、程序与数据之间有一定的独立性。 D、文件的形式已经多样化 E、数据具有一定的共享性 (3)、数据库系统管理阶段特点: A、数据结构化。 B、数据共享性高、冗余度底。 C、数据独立性高。 D、有统一的数据控制功能。 2、从程序和数据之间的关系来分析文件系统和数据库系统之间的区别和联系 答:数据管理的规模日趋增大,数据量急剧增加,文件管理系统已不能适应要求,数据库管理技术为用户提供了更广泛的数据共享和更高的数据独立性,进一步减少了数据的余度,并为用户提供了方便的操作使用接口。数据库系统对数据的管理方式与文件管理系统不同,它把所有应用程序中使用的数据汇集起来,以记录为单位存储,在数据库管理系统的监督和管理下使用,因此数据库中的数据是集成的,每个用户享用其中的一部分。 3、简述数据库、数据库管理系统、数据库系统三个概念的含义和联系。答:数据库是指存储在计算机内、有组织的、可共享的数据集合。 数据库管理系统是软件系统的一个重要组成部分,它通过借助操作系统完成对硬件的访问,并对数据库的数据进行存取、维护和管理。 数据库系统是指计算机系统中引入数据库后的系统构成。它主要由数据库、数据库用户、计算机硬件系统和计算机软件系统几部分组成。 三者的联系是:数据库系统包括数据库和数据库管理系统。数据库系统主要通过数据库管理系统对数据库进行管理的。 4、数据库系统包括哪几个主要组成部分?各部分的功能是什么?画出整个数据库系统的层次结构图。 答:数据库系统包括:数据库、数据库用户、软件系统和硬件系统。 数据库主要是来保存数据的。 数据库用户是对数据库进行使用的人,主要对数据库进行存储、维护和检索等操作。 软件系统主要完成对数据库的资源管理、完成各种操作请求。 硬件系统主要完成数据库的一些物理上的操作,如物理存储、输入输出等。

数据库原理习题(含答案)

第一章绪论 Ⅰ、学习要点 1、准确掌握数据、数据库、数据库系统、数据库管理系统等基本术语、概念; 2、数据独立性的概念、分类及实现途径; 3、数据模型的概念、分类、要素及作用; 4、数据库三级模式体系结构的含义及作用; 5、关系数据模型的三要素内容。 Ⅱ、习题 一、选择题: 1、使用二维表格结构表达数据和数据间联系的数据模型是() A、层次模型 B、网状模型 C、关系模型 D、实体—联系模型 2、DB、DBS、DBMS间的关系是() A、DB包括DBMS和DBS B、DBMS包括DB和DBS C、DBS包括DB和DBMS D、DBS与DB和DBMS无关 3、在数据库中存储的是() A、数据 B、数据模型 C、数据及数据之间的联系 D、信息 4、数据库系统中,用()描述全部数据的整体逻辑结构。 A、外模式 B、模式 C、内模式 D、数据模式 5、数据库中,导致数据不一致的根本原因是() A、数据量太大 B、数据安全性不高 C、数据冗余 D、数据完整性约束不强 6、划分层次型、网状型和关系型数据库的原则是() A、记录的长度 B、文件的大小 C、联系的复杂程度 D、数据及联系的表示方式 7、数据库三级模式体系结构的划分,主要有利于保持数据库的() A、数据安全性 B、数据独立性 C、结构规范化 D、操作可行性 8、数据库系统中,用()描述用户局部数据的逻辑结构,它是用户和数据库系统间的接口。 A、外模式 B、模式 C、内模式 D、数据模式 9、数据库系统中,用()描述全部数据的物理存储视图。 A、外模式 B、模式 C、内模式 D、数据模式 10、数据库系统中用于定义和描述数据库逻辑结构的语言是() A、DML B、DDL C、DCL D、SQL 11、数据库系统支持的数据共享指的是()

数据库大作业设计题目分析

《数据库原理及技术》大作业大纲 类同卷,网上抄袭,大作业格式不正确一律0分处理 一、课程设计的目的和要求 (1)培养学生运用所学课程《数据库原理及技术》的理论知识和技能,深入理解《数据库原理及技术》课程相关的理论知识,学会分析实际问题的能力。 (2)培养学生掌握用《数据库原理及技术》的知识设计计算机应用课题的思想和方法。 (3)培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。 (4)通过课程大作业,要求学生在教师的指导下,独立完成大作业要求的相关内容,包括: ①通过调查研究和运用Internet,收集和调查有关资料、最新技术信息。 ②基本掌握撰写小论文的基本步骤和写作方法。 ③根据课题的要求基本理解和掌握E-R图的设计方法和关系模式的转换。 ④根据课题的要求基本理解和掌握数据流图(DFD)和数据字典(DD)的设计方法。 ⑤创建数据库及各种数据库对象。 二、课程设计题目 要求: (1)任选下列一个题目,调查分析一个具体的或模拟的实例; (2)描述该实例的业务信息和管理工作的要求; (3)列出实体、联系; (4)指出实体和联系的属性; (5)画出E-R图; (6)将E-R图转换成关系模式,并注明主码和外码; (7)建立数据字典; (8)创建数据库; (9)根据题目的要求写查询、存储过程、触发器等。 题目: (1)学校图书借阅管理系统 功能要求: ●实现图书信息、类别、出版社等信息的管理; ●实现读者信息、借阅证信息的管理; ●实现图书的借阅、续借、归还管理; ●实现超期罚款管理、收款管理; ●创建触发器,分别实现借书和还书时自动更新图书信息的在册数量;

数据库课程设计大作业

《数据库原理》课程设计报告 专业:测控技术与仪器 班级:测控071班 学号:200710402112 200710402115 姓名:杜文龙王京京 题目名称:物资管理系统 完成日期:2009年12月25日 昆明理工大学信息工程与自动化学院 2009年12月

物资管理系统 一、课程设计目的: 1.加深对讲授内容的理解 《数据库原理及应用》中有关数据库技术的基本理论、基本概念、设计与实现的方法和阶段性知识,光靠课堂讲授既枯燥无味又难以记住,但它们都很重要,要想熟练掌握,必须经过大量实践环节加深对它们的理解。 2.通过课程设计,掌握数据库系统设计与开发的方法及步骤 数据库是一门应用性很强的学科,开发一个数据库系统需要集理论、系统和应用三方面为一体,以理论为基础,以系统(DBMS)作支柱,以应用为目的,将三者紧密结合起来。同时结合实际需要开发一个真实的数据库系统,对于较大型的系统可多人一起完成,但无论如何都应完成数据库的需求分析、数据的分析与建模、数据库的建立、数据库的开发与运行等全部过程。在此过程中将所学的知识贯穿起来,达到能够纵观全局,分析、设计具有一定规模的题目要求,基本掌握数据库系统设计与开发的基本思路和方法并且做到对知识的全面掌握和运用。 3.培养学生自学以及主动解决问题的能力 通过本次设计,使同学能够主动查阅与数据库相关资料,掌握一些课堂上老师未曾教授的知识,从而达到培养学生自学以及主动解决问题的能力的目的。 二、课程设计基本要求: 1.课程设计应由学生本人独立完成,严禁抄袭。 2.掌握所学的基础理论知识,数据库的基本概念、基本原理、关系数据库的设 计理论、设计方法等。熟悉数据建模工具Visio与数据库管理系统SQLServer 软件的使用。 3.按时上机调试,认真完成课程设计。 4.认真编写课程设计报告。 三、需求分析 信息管理系统是集计算机技术、网络通讯技术为一体的信息系统工程,它能够使企业运行的数据更加准确、及时、全面、详实,同时对各种信息进一步地加工,使企业领导层对生产、经营的决策依据更充分,更具有合理性和库、科学性,并创建出更多的发展机会;另外也进一步加强企业的科学化、合理化、制度化、规范化管理,为企业的管理水平跨上新台阶,为企业持久、健康、稳定的发展打下基础。 这个物资管理系统是以客户机/服务器模式的信息管理模式的信息管理系统。它的开发过程不仅仅是一个编写应用程序的过程,而是以软件工程的思想为指导,从可行性研究开始,经过系统分析、系统设计、系统实施

数据库原理例题及解答

一、实验目的: 1、了解SQL语言的特点和基本概念。 2、能够针对某种具体的DBMS(本实验采用Access2003),熟练地运用单表查询、连接查询、嵌套查询、集合 查询等各种SQL查询语句对数据库中的表进行操作。 3、对相同的查询要求,能够采用多种查询方法实现,并能分析各种方法的优劣,从中选择合适的方法。 二、实验过程: 1、Print the names of professors who work in departments that have fewer than 50 PhD students. 解:(1)分析:本题是查询在博士生人数少于50个人的系工作的教师名字。查询教授名字可以通过prof 表,而所查询的教授名字是有限制条件的, 他所工作的系名要属于特定的集合(所有系名的一个子集),显然这个子集可以通过查询 dept表获得,所以带有谓词in的嵌套子查询可以实现题目要求。 (2)语句实现: ' SELECT Prof.字段1 FROM Prof WHERE Prof.字段2 IN (SELECT Dept.字段1 FROM Dept WHERE Dept.字段2 < 50); ****************************************************; (3)查询结果: | 2、Print the name(s) of student(s) with the lowest gpa 解:(1)分析:本题是查询成绩点最低的学生的名字。最低的成绩点可以在student表中通过函数min(gpa)获得,而所查询学生的名字的限制为成绩点等于min(gpa), 因此可用如下嵌套子查询实现。 (2)语句实现: > SELECT Student.字段2

数据库原理大作业

2012级网络工程专业《数据库原理》大作业 一、作业要求: 1.按照《数据库大作业小组分配名单》,选择各自的题目,要求每小组各自独 立完成。(不少于20页) 2.按照大作业评分标准和报告格式,给出完整的数据库设计过程; 3.数据库中的数据表不得少于三张,否则认为设计失败; 4.对每张数据表输入不少于10条的样本数据用于测试,样本数据要有代表性; 5.写出相应的SQL脚本,数据库可选用SQL Server或MySQL等; 6.提交结果时应包括电子版的报告和源代码,报告中说明各小组成员的分工; 7.如果还能在设计的基础,将应用系统开发出来,将根据开发的结果给以5-10 分的加分; 8.大作业检查时间:期末考试前一星期 9.作业参看模板格式,每步都有要求,每小组最后交一份作业。 二、评分标准 1.需求分析(数据流图、数据字典):20分 2.数据库设计。 2.1概念结构设计(E-R模型):20分 2.2逻辑结构设计(关系模式、函数依赖,码等)20分 2.3物理结构设计10分 3.数据库实现(定义表格和索引等,录入数据)10分 4.数据库运行(数据库操作的SQL语句,包括查询、增加、删除、修改)20分 三、选题 题目一:零件交易中心管理系统 零件交易中心管理系统主要提供顾客和供应商之间完成零件交易的功能,其中包括供应商信息、顾客信息以及零件信息。供应商信息包括供应商号、供应商名、地址、电话、简介;顾客信息包括顾客号、顾客名、地址、电话;零件信息包括零件号、零件名、重量、颜色、简介等。此系统可以让供应商增加、

删除和修改所提供的零件产品,还可以让顾客增加、删除和修改所需求的零件。交易员可以利用顾客提出的需求信息和供应商提出的供应信息来提出交易的建议,由供应商和顾客进行确认后即完成交易。 题目二药店管理系统 主要功能: 员工录入:录入药店全部员工的基本资料,指定记录人、验收人及营业员。资料包括:员工编号、姓名、年龄、性别、学历、职称、职位、身份证号、联系电话等。 药品入库登记:完成药品各项参数的入库登记工作。参数包括:货号、品名、类型、规格、单位、生产厂家、批准文号、注册商标、进货日期、有效期、无效期、供货商、生产批号、记录人、数量、批发价、进价、零售价等。 药品出库登记:将库房药品出库到柜台或者调拨对象等,可对当天或一定时间段内的出库单进行查询并打印出库单,由库房记录人和柜台领货人在出库单上共同签字确认。 药品进价查询:对在一定时间段之内某一药品的进价及其相应的供货商进行查询,为订购该药品提供价格依据。 库存药品查询: 供货商管理:将已停止使用的或错误的供货商名称从数据库中删除;可录入、查询及修改供货商的基本资料。 药品销售录入:统计某一营业员当日销售金额、统计全店当日销售金额、收款对帐功能。 药品销售查询:可对当天或一定时间段内的销售记录,按照全部、货号或品名(单一药品)、营业员、药品类型、进行查询,并统计销售数量、营业额和利润及利润率。可对查询结果打印,并可按每种药品的销售金额或销售数量和销售进价从大到小进行排序。 药品入柜记录:可按照全部、货号、助记符、记录人分别查询在当天或一定时间段内的药品入柜记录。 柜台药品查询:可分别以全部柜存、货号、结款状态、品名(单一药品)、柜台

大数据库原理张红娟问题详解

11.(1)给学生表增加一个属性Nation,数据类型为Varchar(20): ALTER TABLE Student ADD Nation VARCHAR(20) NULL; (2)删除Nation: ALTER TABLE Student Drop Column Nation; (3)向成绩表中插入记录("2001110","3",80): insert into Grade values('2001110','3',80); (4)将学号为2001110的学生的成绩改为70分: update Grade set Gmark='70' where Sno='2001110'; (5)删除学号为'2001110'的学生的成绩记录: delete from Grade where Sno='2001110'; (6)在学生表的clno属性上创建一个名为'IX_Class'的索引,以班级号的升序排序:create index IX_Class on Student (clno Asc); (7)删除'IX_Class'索引: drop index Student.IX_Class; 12.(1)找出所有被学生选修了的课程号: select distinct Cno from Grade; (2)找出01311班女学生的个人信息: select * from Student where Clno='01311' and Ssex='女'; (3)找出01311班和01312班的学生姓名、姓名、出生年份 select Sname,Ssex,2014-Sage as [year of birth] from Student where Clno='01311' or Clno='01312'; (4)找出所有姓李的学生的个人信息 select * from Student where Sname like '李%';

数据库原理(第三版)张红娟 参考答案

第一章 17、 成绩 选修 班级 课程 学生 属于 1 N N M 班级号 班长的学号 班级人数 入校年份 班级所在专业 年龄 性别 姓名 学号 学分 课程名 课程号

18、 成绩 选修 班级 课程 学生 属于 1 N N M 班级号 班长的学号 班级人数 入校年份 班级所在专业 年龄 性别 姓名 学号 学分 课程名 课程号 教师 属于 M N 职称 姓名 教师号 专业 学会 加入 N M 入会年份 学会名称 成立时间 负责人姓名 会费

20、供应商(供应商代号,供应商名称,联系电话) 项目(项目代号,项目名称,项目负责人) 零件(零件号,零件名,价格) 供应商-项目(项目代号,供应商代号) 项目-零件(项目代号,零件号,零件数) 供应商-零件(供应商代号,零件号,零件数) 21、 属于 N N 1 1 1 1 N N N N M M 设备号 地址 电话 年龄 性别 部门名 电话 地址 部门号 规格 零件号 名称 电话 地址 单位号 单位号 设备处 零件 职员 设备 部门 生产处 工作 工作 装配 属于 生产 名称 位置 价格 职务 职员姓名 职员号 价格 名称

22、(1) 第三章 10、设有一数据库 GradeManager (成绩管理),包括四个表:学生表(Student )、课程表(Course )、班级表(Class )以及成绩表(Grade ),其结构如表3-4所示,数据如表3-5所示。试用SQL 语句创建四个表。 表3-4 成绩管理数据库的表结构 表一 Student 属性名 数据类型 可否为空 含义 Sno Char (7) 否 学号(唯一) Sname VarChar (20) 否 学生姓名 Ssex Char (2) 否 性别 Sage Smallint 可 年龄 Clno Char (5) 否 学生所在班级 表二 Course 属性名 数据类型 可否为空 含义 工厂 产品 工人 零件 车间 仓库 属于 包含 生产 生产 包含 存放 存放 N N N N N N N 1 1 M 1 1 M M 组装 N M 职工号 工种 性别 年龄 姓名 车间主任姓名 电话 车间号 地址 厂名 价格 重量 零件号 厂长姓名 电话 仓库号 产品号 价格 仓库保管员姓名

数据库大作业

华南理工大学数据库原理与设计大作业报告 专业:计算机科学与技术 班级: 2015春 学号: 20 学生姓名:陈亮 完成时间:

目录 目录 (2) 1、概述 (4) 2、需求分析 (6) 零售前台(POS)管理系统 (6) 后台管理系统 (7) 数据需求 (7) 3、数据库逻辑设计 (9) 概念结构设计 (9) 4、软件功能设计 (13) 逻辑结构设计 (13) 物理结构设计 (15) 完整性设计 (20) 安全性设计 (22) 5、界面设计 (24) 系统功能结构图 (24) 模块设计与实现(部分界面) (24) 6、结束语 (31)

7、参考文献 (33)

1、概述 超市管理信息系统是针对超级市场的销售而开发的。应用超市管理信息系统能够转变超市的工作方式,有效提高销售速度和服务水平,提高客户对超市的信任度和满意度,改善客户关系。运用超市管理信息系统,在销售商品时实行出口一次性付款,可以实现超市内部现代化管理,能够准确把握每一种商品的销售动态,防止商品断档或过量储备,商品开发方向、进货的适时化都可通过超市管理信息系统来完成。 超市管理信息系统将手工编制好的销售账目或根据原始超市销售记录直接在系统内制作超市销售信息,同时可对输入的超市销售信息进行修改、查询等操作。这种集约化的销售管理模式既便于对超市销售信息的收集、整理和加工,又便于操作员的需求信息在最短的时间内得到反馈,同时超市管理信息系统可自动分析各种商品销售变化规律,商品销售结构、居民消费变化等,从而为合理进货、经营、加工、库存、销售等提供科学的决策依据。 超市管理信息系统充分运用计算机管理信息技术,建立数据库,对超市的进销存过程进行详细分析,实现了对超市的进货、销售和库存的科学管理。

数据库原理课后题答案

数据库原理课后题答案 Document serial number【KKGB-LBS98YT-BS8CB-BSUT-BST108】

第1章 1.试述数据、数据库、数据库系统、数据库管理系统的概念。 答:(1)数据:描述事物的符号记录成为数据。数据的种类有数字、文字、图形、图像、声音、正文等。数据与其语义是不可分的。 (2)数据库:数据库是长期储存在计算机内的、有组织的、可共享的数据集合。数据库中的数据按照一定的数据模型组织。描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。 (3)数据库系统:数据库系统是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发人具)、应用系统、数据库管理员构成。 (4)数据库管理系统:数据库管理系统是位于用户与操作系统之间的一层数据管理软件,用于科学地组织和存储数据、高效地获取和维护数据。DBMS的主要功能包括数据定义功能、数据操作功能、数据库的建立和维护功能。 6.试述数据库系统三级模式结构,这种结构的优点是什么 答:数据库系统的三级模式机构由外模式、模式和内模式组成。 外模式,亦称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 模式亦称逻辑模式,是数据库中全体数据呃逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 内模式,亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 数据库系统的三级模式是对数据的三个抽象级别,它对数据的具体组织留给DBMS管理,使用户能逻辑抽象地处理数据,而不必关心数据在计算机中的表示和存储。 为了能够在内部实现这三个抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式∕模式映像和模式∕内模式映像。正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。 7.定义并解释下列术语。 外模式:亦称子模式或用户模式,是数据库用户(包括应用程序员和最 终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。 内模式:亦称存储模式,是数据在数据库内部的表示,即对数据的物理结构和存储方式的描述。 模式:亦称逻辑模式,是数据库中全体数据逻辑结构和特征的描述,是所有用户的公共数据视图。模式描述的是数据的全局逻辑结构。外模式涉及的是数据的内部逻辑结构,通常是模式的子集。 DDL:数据库定义语言,用来定义数据库模式、外模式、内模式的语言。 DML:数据操纵语言,用来对数据库中数据进行查询、插入、删除和修改的语 句。 8.什么叫数据与程序的物理独立性什么叫数据与程序的逻辑独立性为什么数据库系统具有数据与程序的独立性

数据库原理与应用-大作业

数据库大作业 课题名称数据库大作业 专业物联网 班级2班 学号13180211 姓名丁艺铭 教师任国芳 成绩 2015年12月20日

1. 需求分析 本系统的最终用户为学生,由于学生在校友通讯录的身份不同,因此根据我们日常生活中的经验,根据我们所做的其他询问和调查,得出用户的下列实际要求。 1.1 数据流图(DFD) 图1-1 1.2 数据字典(DD) 学校信息表(Sch_id primary key) 学校信息表

2. 概念结构设计 主要是对以上功能的整合,更清晰的将整个数据库的关系表示出来,总ER 图见2-1 2-1总图 3. 逻辑结构设计 关系模式((在Powerdesigner中由概念模型转化为物理数据模型,粘图))

4. 建表SQL语句 由物理数据模型生成SQL Server 2008数据库的建表语句。DELIMITER | CREATE TRIGGER ``.`` < [ BEFORE | AFTER ] > < [ INSERT | UPDATE | DELETE ] > ON [dbo] //dbo代表该表的所有者 FOR EACH ROW BEGIN --do something END | insert 触发器示例 create trigger tri_insert on student for insert as declare @student_id char(10) select @student_id=s.student_id from student s inner join inserted i on s.student_id=i.student_id if @student_id='0000000001' begin raiserror('不能插入1的学号!',16,8) rollback tran end go update触发器示例

数据库习题及答案,第三版

2004-2005学年第二学期期末考试 D 2002级计算机科学与技术专业《数据库原理与应用》课程试题 一、选择题(15分,每空1分): 1 .数据库系统中,物理数据独立性( physical data independenee )是指 _ 。 A. 数据库与数据库管理系统的相互独立 B. 应用程序与DBMS 的相互独立 C. 应用程序与存储在磁盘上数据库的物理模式是相互独立的 D. 应用程序与数据库中数据的逻辑结构相互独立 2. _____________________ 数据库系统的特点是 、数据独立、减少数据冗余、避免数据不一 致和加强了数据保护。 A. 数据共享 B .数据存储 C.数据应用 D .数据保密 3. 数据库管理系统能实现对数据库中数据的查 询、 插入、修改和删除等操作的数据库语言称为 A. 数据定义语言(DDL ) B .数据管理语言 C.数据操纵语言(DML ) D .数据控制语言 4. 在关系代数的专门关系运算中,从表中取出满足条件的属性的操作称为①;从表中选出满足某种 条件的元组的操作称为②;_将两个关系中具有共同属性值的元组连接到一起构成新表的操作称为③。 A. 选择 B .投影 C.连接 D.扫描 5. _________________________ 关系模型中,一个候选码 。 A .可由多个任意属性组成 B. 至多由一个属性组成 C. 可由一个或多个其值能唯一标识该关系模式中任何元组的属性组成 D. 必须由多个属性组成 7.数据库中只存放视图的 __________ 。 A .操作 B .对应的数据 C. 定义 D.限制 9.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限, O A. 可靠性 B. —致性 C.完整性 D .安全性 6. SQL 语言是 语言。 A .层次数据库 C .关系数据库 B. 网络数据库 D .非数据库 &关系数据库规范化是为解决关系数据库中 问题而引人的。 A .数据冗余 B. 提高查询速度 C.减少数据操作的复杂性 D .保证数据的安全性和完整性 这主要是为了实现数据库的

2020年1月浙江自学考试试题及答案解析数据库原理试卷及答案解析

浙江省2018年1月高等教育自学考试 数据库原理试题 课程代码:02336 一、单项选择题(本大题共15小题,每小题2分,共30分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.在数据库系统中,把可以相互区别的客观事物称为() A.属性 B. 字段 C.文件 D.实体 2.数据库的存储设备和存取方法变化不影响整体逻辑结构的特点,称为数据库的()A.实体独立性 B.物理数据独立性 C.客观独立性 D.逻辑数据独立性 3.数据库系统中,使用专用的查询语言操作数据的人员是() A.数据库管理员 B.专业用户 C.应用程序员 D.最终用户 4.学生社团可以接纳多名学生参加,但每个学生只能参加一个社团,从社团到学生之间的联系类型是() A. 多对多 B. 一对多 C. 多对一 D. 一对一 5.在SQL语言中,用于测试列值非空的语句是() A. IS NOT EMPTY B.IS NOT NULL C. NOT UNIQUE D.NOT EXISTS 6.如果关系模式R上有函数依赖AB→C和A→C,则R中存在() A. 完全依赖 B.部分依赖 C. 传递依赖 D.多值依赖 7.关系模型的参照完整性约束是指() A.限制引用一个关系中的不同元组数据 B.限制引用不同关系中的元组数据 C.限制一个关系引用与之联系关系中不存在的元组数据 D.限制两个关系间的互相引用 1

8.4元关系R为:R(A,B,C,D),则() A.ΠA,C(R)为取属性值为A、C的两列组成 B.Π1,3(R)为取属性值为l、3的两列组成 C.Π1,3(R)与ΠA,C(R)是等价的 D.Π1,3(R)与ΠA,C(R) 是不等价的 9.下列叙述中正确的是() A.X →→Y,其中Z=U-X-Y=Φ,则称X→→Y为非平凡的多值依赖; B.X →→Y,其中Z=U-X-Y=Φ,则称X→→Y为平凡的多值依赖; C.对于函数依赖A1,A2,…,An→B来说,如果B是A中的某一个,则称为非平凡函数依赖; D.对于函数依赖A1,A2,…,An→B来说,如果B是A中的某一个,则称为平凡函数依赖; 10.在嵌入式SQL中,为了把集合操作转换成单记录处理方式,引进了以下哪个概念() A.宿主语言 B.游标 C.DDL语言 D.DML语言 11.已知事务T1的封锁序列为:LOCK S(A)…LOCK S(B)…LOCK X(C) …UNLOCK(B) …UNLOCK (A) …UNLOCK (C) 事务T2的封锁序列为:LOCK S(A) …UNLOCK (A) …LOCK S(B) …LOCK X(C) …UNLOCK (C) …UNLOCK (B) 则遵守两段封锁协议的事务是() A.T1 B.T2 C.T1和T2 D.没有 12.设计DB的存储结构属于数据库设计的() A. 需求设计 B. 概念设计 C. 逻辑设计 D. 物理设计 13.恢复机制的关键问题是建立冗余数据,最常用的技术是() A.数据镜像 B.数据转储 C.登录日志文件 D.B+C 14.下列SQL语句中,能够实现“将查询SC表的权限授予用户U1,并允许该用户将此权限 2

数据库原理与应用大作业

《数据库原理与应用》综合设计任务书 前言 《数据库原理与应用》课程的重点知识模块包括:1)数据库设计、2)用SQL实现建库、建表、查询、更新、和创建视图、3)存储过程和触发器设计。针对这三个应用能力,用一个案例作为背景,布置三次大作业。 在校大学生都能理解“图书管理系统”的应用场合和业务流程。因此,以图书管理系统作为案例来布置作业,可以降低业务分析难度,让学生将主要精力放在知识消化与技术应用上。 本文档包括四个部分。第一部分描述系统的需求,第二部分提出E-R模型设计和关系模型设计的任务;第三部分提出在SQL Server中,用SQL语句来建库、建表、查询、更新数据、创建视图的任务;第四部分,根据应用需求、安全需求和数据完整性要求,提出设计存储过程和触发器的任务。 每个任务之前,都给出了完成任务所需要掌握的关键知识点,学生可以在对这些知识点进行复习的基础上完成任务,每个任务是一次大作业。 第一部分案例的需求描述 本部分描述“图书管理系统”的需求,学生通过阅读本部分内容,了解系统的功能要求、运行环境,对系统所需的数据有总体认识,作为三次作业的基础。 1.2 需求分析 1)功能需求

图1-1:功能需求示意图 教师信息管理:用于教师基本资料的增删改查。 图书信息管理:用于图书基本信息的增删改查,分类统计图书册数和价值。 借书登记:记录借书时间、所借图书、借书人、办理人。 还书登记:记录还书时间、所还图书、还书人、办理人。 催还:查询借阅逾期的借书信息,给借书人发电子邮件,给借书人的部门打电话。 2)运行环境要求 图1-2:运行环境拓扑图 系统采用C/S模式,有两台PC和一台服务器,联成一个局域网。PC上安装图书管理软件的客户端,服务器上安装DBMS,服务器也可由两台PC中的一台来代替。 第二部分作业1——E-R模型与关系模型设计 (满分8分)

大数据库原理与设计大作业源代码

数据库原理与设计大作业源代码 (1) 用户登录界面 运行超市管理信息系统后,首先进入用户登录界面,用户输入用户名和密码后,系统进行验证,验证通过进入程序的主界面。 在进行系统登录过程中,登录模块将调用数据库里的用户信息表,并对用户名和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。在登录模块中,对系统的尝试登录次数进行了限制,禁止用户无终止的进行系统登录尝试,在本系统中,当用户对系统的三次登录失败后,系统将自动机制登录,突出登录模块。并在输入了错误的或者是不存在的账户和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。登录界面如图5-2所示。 图5-2 登录界面 主要实现代码如下: //登录

private void radBtnOk_Click(object sender, EventArgs e) { try { if (radTxtBoxUser.Text.Trim() == "") { this.radLbInfo.Text = "请输入您的用户名!"; } else if (radTxtBoxPsw.Text.Trim() == "") { this.radLbInfo.Text = "请输入您的密码!"; } else { commandUnit com = new commandUnit(); string str = @"select * from UserInfo where loginNo = '" + radTxtBoxUser.Text.ToString() + "'"; DataTable table = com.GetDataSet(str); if (table.Rows.Count <= 0) { this.radLbInfo.Text = "用户名不存在!"; radTxtBoxUser.Text = ""; radTxtBoxPsw.Text = ""; return; } str = @"select * from UserInfo where loginNo = '" + radTxtBoxUser.Text.ToString() + "' and passWord = '" + radTxtBoxPsw.Text.ToString() + "'"; DataTable tableUser = com.GetDataSet(str); if (tableUser.Rows.Count > 0) { _currentUser = radTxtBoxUser.Text; _currentPsw = radTxtBoxPsw.Text; IsLogin = true; this.Close(); } else { this.radLbInfo.Text = "密码错误!"; radTxtBoxPsw.Text = ""; } } } catch (System.Exception ex)

数据库原理课后答案第六章

第6章数据库设计 一、选择题 1、下列对数据库应用系统设计的说法中正确的是应用程序员可以不必参与数据库的概念结构设计 2、在需求分析阶段,常用数据流图描述用户单位的业务流程。 3、下列对E-R图设计的说法中错误的是集成后所得的E-R图中可能存在冗余数据和冗余联系,应予以全部清除 4、下列属于逻辑结构设计阶段任务的是将E-R图转换为一组关系模式 5、将一个一对多联系型转换为一个独立关系模式时,应取多端实体型的关键属性 为关键字。 6、将一个M对N(M>N)的联系型转换成关系模式时,应转换为一个独立的关系模式 7、在从E-R图到关系模式的转化过程中,下列说法错误的是关系模式的规范化程度越高,查询的效率就越高 8、对数据库的物理设计优劣评价的重点是时空效率 A.B.动态和静态性能C.用户界面的友好性D.成本和效益 9、下列不属于数据库物理结构设计阶段任务的是确定选用的DBMS 10、确定数据的存储结构和存取方法时,下列策略中将表和索引存储在同一磁盘上 不利于提高查询效率。 二、填空题 1、在设计分E-R图时,由于各个子系统分别面向不同的应用,所以各个分E-R图之间难免存在冲突,这些冲突主要包括_命名冲突_、_属性冲突_和_结构冲突_三类。 2、数据字典中的_数据项_是不可再分的数据单位。 3、若在两个局部E-R图中都有实体“零件”的“重量”属性,而所用重量单位分别为公斤和克,则称这两个E-R图存在_属性_冲突。 4、设有E-R图如图6.18,其中实体“学生”的关键属性是“学号”,实体“课程”的关键属性是“课程编码”,设将其中联系“选修”转换为关系模式R,则R的关键字应为属性集_学号与课程编码__。 5、确定数据库的物理结构主要包括三方面内容,即:_确定数据存放位置和存储结构_、_确定数据存取方法_和_系统配置_。 6、将关系R中在属性A上具有相同值的元组集中存放在连续的物理块上,称为对关系R基于属性A进行_聚簇_。 7、数据库设计的重要特点之一要把_结构(数据)_设计和__行为(处理)_设计密切结合起来,并以_结构(数据)_为核心而展开。 8、数据库设计一般分为如下六个阶段:需求分析、__概念结构设计__、__逻辑结构设计__、数据库物理设计、数据库实施、数据库运行与维护。 9、概念设计的结果是得到一个与__计算机与DBMS__无关的模型。 10、在数据库设计中,__数据字典__是系统各类数据的描述的集合。

数据库原理 关系运算 习题答案

数据库系统原理第四章关系运算课后习题答案 4.1 名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。 (2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性名,值域名以及模式的主键。关系模式不涉及到物理存储方面的描述,仅仅是对数据特性的描述。 (3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。 (4)属性:实体的一个特征。在关系模型中,字段称为属性。 (5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。 (6)元组:在关系中,记录称为元组。元组对应表中的一行;表示一个实体。 (7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。 (8)候选键:不含有多余属性的超键称为候选键。 (9)主键:用户选作元组标识的一个候选键为主键。(单独出现,要先解释“候选键”) (10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。 (11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。如果出现空值,那么主键值就起不了唯一标识元组的作用。 (12)参照完整性规则:这条规则要求“不引用不存在的实体”。其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。这条规则在使用时有三点应注意: 1)外键和相应的主键可以不同名,只要定义在相同值域上即可。 2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。 3)外键值是否允许空应视具体问题而定。 (13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。如Pascal和C语言等。 (14)非过程性语言:编程时只须指出需要什么信息,不必给出具体的操作步骤。各种关系查询语言均属于非过程性语言。 (15)无限关系:当一个关系中存在无穷多个元组时,此关系为无限关系。如元组表达式{t|┐R(t)}表示所有不在关系R中的元组的集合,这是一个无限关系。 (16)无穷验证:在验证公式时需对无穷多个元组进行验证就是无穷验证。如验证公式(u)(P(u))的真假时需对所有的元组u进行验证,这是一个无穷验证的问题。 4.2 为什么关系中的元组没有先后顺序? 因为关系是一个元组的集合,而元组在集合中的顺序无关紧要。因此不考虑元组间的顺序,即没有行序。 4.3 为什么关系中不允许有重复元组?

数据库原理期末知识点(第三版)

CHAPTER 1 一个数据库,只有一个外模式和一个内模式,但可以有多个外模式. DBMS中采用的关系数据库的标准语言是结构化查询语言(SQL) 基本表是模式的基本内容,视图是外模式的基本单位. 视图虽然也是一个关系,但与基本表的本质区别是它实际中并不存在. 数据库系统大致可以分为四类:集中式、文件服务器、客户\服务器和浏览器/服务器 数据库管理系统所支持的主要数据模型:层次、网状、关系、面向对象 CHAPTER 2 在一个实体集中,根据一个或几个属性的值可唯一地确定每一个实体,而又没有包含多于的属性,则称此属性或属性组为该实体集的码 实体-联系(E-R)数据模型所采用的三个主要概念:实体集、联系集、属性. P22-23 E-R模型表示图画法 实体集间关系: 一对多、一对一、多对多 一个联系中,一个实体集可以出现两次或多次,扮演多个不同的角色,称为实体集的自我联系. RDBMS:关系型数据库管理系统(1980) 关系模型由数据结构、数据操作和完整性约束三部分组成. 属性:关系中每一列即为一个属性,一个关系中不能有两个同名属性 元组:关系中的一行数据总称为一个元组,一个元组即为一个实体的所有属性值得总称,一个关系中不能有两个完全相同的元组. 主码:每个关系有且只有一个主码. 外部码:FOREIGN KEY. 关系具有六个基本性质: a.关系中每个分量值都是原子的,即为不可分的基本数据项 b.属性列是同质的,同一列的分量值应该出自相同的域 c.不同的列可以出自同一个域 d.列的次序可以互换 e.行的次序可以互换 f.一个关系中的任意两个元组不能相同 关系模型中三类完整性约束:实体完整性、参照完整性和用户定义的完整性 实体完整性和参照完整性必须满足. 实体完整性的原因: 1.一个基本关系不是对应于概念模型中的一个实体集就是对应于概念模型中的每一个联系 2.概念模型中的实体及联系都是可区分的,以候选码为唯一性标识 3.关系模型中,任一候选码都是唯一性标识(与概念模型中的候选码相对应) 4.主属性不能取空值. CHAPTER 3 [P79-80 SQL基本操作习题] SQL命令核心功能: Ⅰ.数据定义语言Ⅱ.数据操作语言Ⅲ.数据控制语言 视图不可更新的情况: 1.视图由表达式或常数组成,则不允许INSERT和UPDATE但可DELETE 2.视图的列由集函数组成 3.视图定义中有GROUP BY 子句 4.视图定义中有DISTINCT选项 5.定义中有嵌套查询,且内外层FROM子句中的表示同一个表

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