实验结果(上传实验结果截图或者简单文字描述) 1.知道了如何利用SQL server新建数据库,新建表,插入数据进表,修改表,建立索引,删除索引名等。
修改数据时,如果省略where自子句,则表示要修改表中的所有元组,一开始不知道这个地方,错了好几次。
《数据库原理及应用》教学大纲课程编号 1620127 总学时 46 理论 32 实验/上机 14
学分 2.5 开课单位 信息学院 开课系 电子工程系 修订时间 2006年1月1日
课 程 简 介
教学内容
《数据库原理及应用》主要讨论数据库系统的基本概念,基本原理,基本方法以及有关的应用。
主要内容包括:数据库系统的组成、关系数据库、数据库设计以及数据保护等,同时讲解一种重要的数据库系统的应用。要求学生通过本课程的学习了解有关数据库系统的基本概念,掌握相关的知识,初步掌握数据库设计方法,并能用数据库系统建立数据库及简单的应用。
修读专业:本大纲适合本科电子信息工程专业使用
先修课程:《数据结构》
教材:数据库系统及应用(第二版) “北京市高等教育精品教材”立项项目。由崔巍编著,高等教育出版社
一、 课程的性质与任务
本课程是电子信息工程专业有关数据库的一门统设必修课。主要任务是介绍数据库组织、管理和使用的一般知识,包括数据模型、数据库结构、数据库系统、数据库设计、关系运算、关系规范化、关系查询(SQL语言)等方面的知识;介绍至少一种实际的数据库管理系统的构成与使用。目的使学生通过该课程的学习,具有进行简单数据库应用系统设计与开发的能力。
二、 课程的基本要求
1.熟练掌握(代码:A):数据库中的概念、数据库设计与编程方法。数据库的结构与特点,数据库系统的组成及各部分的功能,熟练使用结构化查询语言(SQL)。
2.掌握(代码:B):关系代数语言的使用;关系演算语言的使用;三级一致性的区别及其与可串行化调度的关系;关系数据库以及面向对象数据库的特点与区别;查询表达式优化的方法。
3.了解(代码:C):关系、关系模型、键码、视图、函数依赖等概念
三、 修读专业
本大纲适合本科电子信息工程专业使用
四、 本课程与其它课程的联系
由于数据库理论及应用是各种计算机技术的综合应用,为了能够让学生很好地理解数据库技术,要求学生在学习本课程之前最好已经学习过以下课程:《程序设计》、《数据结构》、《 *** 作系统》等课程。当然主要要求学生具有“数据结构”的基本知识,其他课程的知识要求是其次的。
对于现行数据库的选择,建议教师最好选择“Microsoft SQL Server”,其它的数据库如:Oracle,IBM DB2相对比较难理解和应用,Access又过于简单。
五、 教学内容安排、要求、学时分配及作业
Chapter 1 绪论(2)
1.1 什么是数据库(C)
1.2 数据库管理系统(C)
1.3 数据库管理和数据库管理员(B)
1.4 数据库系统(B)
1.5 数据库的过去、现在和未来(C)
作业:第2题
Chapter 2 数据模型和三层模式数据库(4)
2.1 信息结构与E-R方法(C)
2.2 概念数据模型(B)
2.2.3 连接陷阱(C)
2.3 传统的三大数据模型(C)��
2.4 数据独立性与三层结构(B)��
2.5 数据库管理系统的结构(B)��
Chapter 3 关系数据库(4)
3.1 关系数据库系统概述(C)��
3.2 关系数据模型(C)��
3.3 关系模型的完整性约束(B)��
3.4 关系代数(B)��
3.5 关系数据库系统的三层模式结构(B)��
作业:第8题--1),2)
Chapter 4 Microsoft SQL Server数据库基础(1)
4.1 客户/服务器体系结构(C)��
4.2 Microsoft SQL Server基础(C)��
4.3 Transact-SQL简介(C)��
Chapter 5关系数据库标准语言——SQL(8)
5.1 SQL语言概述(B)��
5.2 SQL的数据定义功能(B)��
5.3 SQL的数据查询功能(C)��
5.4 视图(View) (B)�
5.5 SQL的数据 *** 作功能(A)��
5.6 SQL的数据控制功能(A)��
5.7 SQL的宿主使用(B)��
5.8 动态SQL(B)��
作业:第2题--7),9),11 )
Chapter 6 存储过程、触发器�和数据完整性(4)
6.1 存储过程(B)��
6.2 触发器及其用途(B)��
6.3 数据完整性(A)�
作业:第2题--3)�
Chapter 7 安全性(4)
7.1 安全性概述(C)��
7.2 用户管理和角色管理(A)��
7.3 权限管理(A)��
7.4 其他安全问题(C)��
Chapter 8 事务管理(2)
8.1 事务(B)��
8.2 并发控制(B)��
8.3 恢复(A)��
作业:第1题,第2题
Chapter 9 关系数据理论(2)
9.1 基本概念(C)��
9.2 函数依赖的公理系统(C)��
9.3 规范化(B)��
9.4 模式分解(B)��
Chapter 10 数据库设计(1)
10.1 完善E-R模型中的概念(C)��
10.2 数据库设计的过程(B)�
六、 实验内容与要求
序号 实验内容 学时
1 建立数据库(B)�� 2
2 建立表和数据完整性(A)� 2
3 SQL数据 *** 作(B)�� 2
4 SQL数据查询(A)�� 2
5 视图的定义和 *** 作(B)�� 2
6 存储过程、触发器(B)�� 2
7 用户管理和权限管理(A) 2
七、 教材与参考书
本课程选用教材:崔巍,数据库系统及应用(第二版),高等教育出版社
本课程推荐参考书:
1)萨师煊、王珊,数据库系统概论(第一版),北京:高等教育出版社,1983
2)萨师煊、王珊,数据库系统概论(第二版),北京:高等教育出版社,1991
3)萨师煊、王珊,实用数据库系统汇编,北京:高等教育出版社,1990
4)王珊、陈红、文继荣,数据库和数据库管理系统,北京:电子工业出版社,1995
5)冯玉才,数据库基础(第二版),武汉:华中理工大学出版社,1993
6)施伯乐、何继潮、崔靖,关系数据库的理论及应用,郑州:河南科技出版社,1990
7)《数据库系统概论》第三版 普通高等教育“九五”国家教委重点教材,由萨师煊、王珊编著,高等教育出版社
borrower:create table borrower(
借书证号 char[5] primary key,
姓名 char[20] not null,
系名 char[10],
班级 char[10])
create table loans(
借书证号 char[5],
图书登记号 char[6],
结束日期 DATE,
primary key(借书证号,图书登记号),
foreign key(借书证号) reference borrower(借书证号),
foreign key(图书登记号 reference books(图书登记号))
create table books(
索书号 char[10],
书名 char[20],
图书登记号 char[6] primary key,
出版社 char[20],
价格 smallint))
(1)
select borrower.借书证号,姓名,系名,temp.total as 借书数量
from borrower,(select 借书证号,count(图书登记号) as total
from loans group by 借书证号
where tatal>5 as temp(借书证号,total))
(2)
select borrower.姓名,系名,书名,结束日期
from borrower,loans,books
where borrower.借书证号=loans.借书证号
and books.图书登记号=loans.图书登记号
and 书名 in(selcet 书名
from borrower,loans,books
where borrower.借书证号=loans.借书证号
and books.图书登记号=loans.图书登记号
and 姓名='赵垒')
(3)
create view SB
as
select borrower.借书证号,姓名,班级,books.图书登记号,书名,出版社
,借书日期
from borrower,book,loans
where borrower.借书证号=loans.借书证号
and books.图书登记号=loans.图书登记号
and 系名='信息系'
1
create table student(
sno char[10] primary key,
sname char[20] not null,
ssex char[2],
sage smallint check( sage between 16 and 30),
sdept char[4])
create table course(
cno char[10] primary key,
cname char[20] not null,
cteacher char[20])
create table sc(
sno char[10],
cno char[10],
grade smallint check(grade is null or grade between 0 and
100),
primary key(sno,cno)
foreign key sno reference student(sno),
foreign key cno reference course(cno))
2
insert into student values('102','李四','男',16,'数学')
下同
insert into course values('203',' *** 作系统','程羽')
下同
insert into sc values('101','203',82)
下同
3
(1) select cname,grade
from sc,student,course
where student.sno=sc.sno and course.cno=sc.cno
and sname='张三'
(2) select sname from student
where sno in(select sno from sc x
where not exists(
select * from sc y
where x.sno=y.sno
and y.grade<60))
(3) select cname,sname,grade
from student,course sc,(select cno,max(grade) from sc group by cno
as temp(cno,max))
where student.sno=sc.sno and course.cno=sc.cno
and grade=max and course.cno=temp.cno
4
delete * from sc where grade<60
5
update sc
set grade=(select avg(grade) from sc where cno='203')
where sno=105
仅供参考
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)