姚津泓实验作业 网页链接可以看看
--实验一
create database test1
on
(name=test1,
filename='d:\3116004357姚津泓\test1.mdf',
size=10,
maxsize=50,
filegrowth=5)
log on
(name=test1_log,
filename='d:\3116004357姚津泓\test1.ldf',
size=5mb,
maxsize=25mb,
filegrowth=5mb)
create database test2
on
(name=test11,
filename='d:\3116004357姚津泓\test11.mdf',
size=10,
maxsize=50,
filegrowth=5),
(name=test22,
filename='d:\3116004357姚津泓\test22.ndf',
size=10,
maxsize=50,
filegrowth=5),
(name=test33,
filename='d:\3116004357姚津泓\test33.ndf',
size=10,
maxsize=50,
filegrowth=5)
log on
(name=test11_log,
filename='d:\3116004357姚津泓\test11.ldf',
size=5mb,
maxsize=25mb,
filegrowth=5mb),
(name=test22_log,
filename='d:\3116004357姚津泓\test22.ldf',
size=5mb,
maxsize=25mb,
filegrowth=5mb)
create database test3
on
(name=dab1,
filename='d:\3116004357姚津泓\dab1.mdf',
size=10,
maxsize=50,
filegrowth=5),
filegroup fg11 --第一个文件组
(name=dab2,
filename='d:\3116004357姚津泓\dab2.ndf',
size=10,
maxsize=50,
filegrowth=5),
filegroup fg22 --第二个文件组
(name=dat1,
filename='d:\3116004357姚津泓\dat1.ndf',
size=10,
maxsize=50,
filegrowth=5),
(name=dat2,
filename='d:\3116004357姚津泓\dat2.ndf',
size=10,
maxsize=50,
filegrowth=5),
filegroup fg33--第三个文件组
(name=daz1,
filename='d:\3116004357姚津泓\daz1.ndf',
size=10,
maxsize=50,
filegrowth=5),
(name=daz2,
filename='d:\3116004357姚津泓\daz2.ndf',
size=10,
maxsize=50,
filegrowth=5)
alter database test1
add file
(name=te,
filename='d:\3116004357姚津泓\te.ndf',
size=10,
maxsize=50,
filegrowth=5
)
alter database test2
modify file
(name=test11,
filename='d:\3116004357姚津泓\test11.mdf',
maxsize=55
)
drop database test1
--实验2--
create database 实验
create schema yaojinhong
create table yaojinhong.仓库
(
仓库号char(6)primary key check (仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'),
城市char(10) unique not null,
面积 int check(面积>=50)
)
create table yaojinhong.职工
(
职工号char(8)primary key check (职工号like'[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]'),
仓库号char(6)constraint ck foreign key references yaojinhong.仓库(仓库号),
工资 money check (工资>=1000 and 工资<=10000)
)
create table yaojinhong.供应商
(
供应商号 char(4)primary key check (供应商号like'[S][0-9][0-9][0-9]'),
供应商名 char(16),
地址char(30),
)
create table yaojinhong.订购单
(职工号 char(8) not null foreign key references yaojinhong.职工.(职工号),
供应商号 char(4) null constraint supply foreign key references yaojinhong.供应商(供应商号) on delete set null,
订购单号 char(6) primary key check(订购单号 like 'OR[0-9][0-9][0-9][0-9]'),
订购日期 datetime default getdate(),
金额 money default null
)
create table yaojinhong.订购单明细
(订购单号 char(6) not null foreign key references yaojinhong.订购单(订购单号),
序号 char(2),
产品名称 char(20),
单价 money default null check(单价>0),
数量 int not null check(数量>0),
primary key(订购单号,序号)
)
alter table yaojinhong.订购单
add 完成日期 datetime default null
alter table yaojinhong.订购单明细
add check(数量 between 0 and 1000)
alter table yaojinhong.订购单明细
alter column 数量 int not null alter table yaojinhong.供应商
alter column 供应商名 varchar(30)
实验3
insert into yaojinhong.仓库 values('QW0001','广州',500)
insert into yaojinhong.仓库 values('QW0002','上海',900)
insert into yaojinhong.仓库 values('QW0003','北京',250)
insert into yaojinhong.仓库 values('QW0004','纽约',1000)
insert into yaojinhong.仓库 values('QW0005','深圳',650)
insert into yaojinhong.职工 values('ZG000001','QW0005',3000)
insert into yaojinhong.职工 values('ZG000002','QW0001',5600)
insert into yaojinhong.职工 values('ZG000003','QW0004',6600)
insert into yaojinhong.职工 values('ZG000004','QW0002',3800)
insert into yaojinhong.职工 values('ZG000005','QW0005',3900)
insert into yaojinhong.职工 values('ZG000006','QW0001',4600)
insert into yaojinhong.职工 values('ZG000007','QW0003',4000)
insert into yaojinhong.职工 values('ZG000008','QW0003',5000)
insert into yaojinhong.职工 values('ZG000009','QW0002',4800)
insert into yaojinhong.职工 values('ZG000010','QW0004',6000)
insert into yaojinhong.供应商 values('S001','华广','深圳')
insert into yaojinhong.供应商 values('S002','广工','广州')
insert into yaojinhong.供应商 values('S003','美的','茂名')
insert into yaojinhong.供应商 values('S004','乐视','深圳')
insert into yaojinhong.供应商 values('S005','康佳','广州')
insert into yaojinhong.订购单 values('ZG000007','S005','OR0001','2015-1-6',5000,'2015-2-5')
insert into yaojinhong.订购单 values('ZG000002','S001','OR0002','2015-2-3',10000,'2015-3-4')
insert into yaojinhong.订购单 values('ZG000003','S004','OR0003','2015-2-17',3000,'2015-5-16')
insert into yaojinhong.订购单 values('ZG000006','S002','OR0004','2015-2-16',9000,'2015-4-18')
insert into yaojinhong.订购单 values('ZG000010','S005','OR0005','2015-3-20',8000,'2015-6-27')
insert into yaojinhong.订购单 values('ZG000001','S001','OR0006','2015-3-22',7500,'2015-7-29')
insert into yaojinhong.订购单 values('ZG000006','S003','OR0021','2015-2-15',4600,'2015-10-13')
insert into yaojinhong.订购单 values('ZG000004','S002','OR0007','2015-2-23',8500,'2015-8-29')
insert into yaojinhong.订购单 values('ZG000003','S005','OR0008','2015-1-5',3600,'2015-11-11')
insert into yaojinhong.订购单 values('ZG000001','S004','OR0009','2015-1-31',7600,'2015-12-14')
insert into yaojinhong.订购单 values('ZG000007','S001','OR0010','2015-3-25',12000,'2015-7-30')
insert into yaojinhong.订购单 values('ZG000008','S002','OR0011','2015-2-26',4600,'2015-9-27')
insert into yaojinhong.订购单 values('ZG000010','S002','OR0012','2015-1-28',3400,'2015-11-21')
insert into yaojinhong.订购单 values('ZG000009','S004','OR0013','2015-3-19',2300,'2015-10-24')
insert into yaojinhong.订购单 values('ZG000007','S005','OR0014','2015-2-23',9000,'2015-9-21')
insert into yaojinhong.订购单 values('ZG000008','S003','OR0015','2015-2-27',6400,'2015-12-23')
insert into yaojinhong.订购单 values('ZG000002','S001','OR0016','2015-1-30',7900,'2015-6-30')
insert into yaojinhong.订购单 values('ZG000005','S004','OR0017','2015-1-27',20000,'2015-8-18')
insert into yaojinhong.订购单 values('ZG000009','S004','OR0018','2015-3-5',13000,'2015-7-31')
insert into yaojinhong.订购单 values('ZG000004','S002','OR0019','2015-3-14',7000,'2015-6-17')
insert into yaojinhong.订购单 values('ZG000006','S005','OR0020','2015-2-21',4300,'2015-5-25')
insert into yaojinhong.订购单明细 values('OR0020','01','沐浴露',32,240)
insert into yaojinhong.订购单明细 values('OR0001','02','洗衣粉',30,125)
insert into yaojinhong.订购单明细 values('OR0012','03','洗衣液',39,59)
insert into yaojinhong.订购单明细 values('OR0014','04','香皂',14,99)
insert into yaojinhong.订购单明细 values('OR0004','05','盐',2,169)
insert into yaojinhong.订购单明细 values('OR0005','06','酱油',14,65)
insert into yaojinhong.订购单明细 values('OR0011','07','化妆品',26,24)
insert into yaojinhong.订购单明细 values('OR0019','08','洗面奶',39,68)
insert into yaojinhong.订购单明细 values('OR0008','09','面膜',5,147)
insert into yaojinhong.订购单明细 values('OR0003','10','花生油',36,258)
insert into yaojinhong.订购单明细 values('OR0017','11','鼠标',69,72)
insert into yaojinhong.订购单明细 values('OR0015','12','鼠标垫',18,64)
insert into yaojinhong.订购单明细 values('OR0016','13','移动电源',58,69)
insert into yaojinhong.订购单明细 values('OR0012','14','插座',37,169)
insert into yaojinhong.订购单明细 values('OR0011','15','牛奶',72,111)
insert into yaojinhong.订购单明细 values('OR0020','16','洗洁精',9,114)
insert into yaojinhong.订购单明细 values('OR0019','17','洁厕液',6,300)
insert into yaojinhong.订购单明细 values('OR0010','18','鸡蛋',14,124)
insert into yaojinhong.订购单明细 values('OR0009','19','牛肉',38,300)
insert into yaojinhong.订购单明细 values('OR0016','20','内裤',59,654)
insert into yaojinhong.订购单明细 values('OR0018','21','鞋子',299,300)
insert into yaojinhong.订购单明细 values('OR0015','22','手表',890,34)
insert into yaojinhong.订购单明细 values('OR0005','23','钱包',129,124)
insert into yaojinhong.订购单明细 values('OR0008','24','行李箱',344,64)
insert into yaojinhong.订购单明细 values('OR0014','25','手袋',3,874)
insert into yaojinhong.订购单明细 values('OR0018','26','篮球',360,59)
insert into yaojinhong.订购单明细 values('OR0003','27','足球',260,36)
insert into yaojinhong.订购单明细 values('OR0005','28','羽毛球拍',78,69)
insert into yaojinhong.订购单明细 values('OR0007','29','乒乓球拍',89,145)
insert into yaojinhong.订购单明细 values('OR0020','30','羽毛球',5,645)
insert into yaojinhong.订购单明细 values('OR0013','31','乒乓球',3,542)
insert into yaojinhong.订购单明细 values('OR0016','32','牙膏',23,200)
insert into yaojinhong.订购单明细 values('OR0009','33','牙刷',6,456)
insert into yaojinhong.订购单明细 values('OR0019','34','防晒霜',56,65)
insert into yaojinhong.订购单明细 values('OR0017','35','水杯',39,1187)
insert into yaojinhong.订购单明细 values('OR0010','36','拖把',15,187)
insert into yaojinhong.订购单明细 values('OR0004','37','扫把',6,200)
insert into yaojinhong.订购单明细 values('OR0005','38','垃圾桶',16,254)
insert into yaojinhong.订购单明细 values('OR0006','39','书',46,688)
insert into yaojinhong.订购单明细 values('OR0016','40','卫生纸',13,500)
insert into yaojinhong.订购单明细 values('OR0020','41','相机',3698,32)
insert into yaojinhong.订购单明细 values('OR0013','42','手机',2000,200)
insert into yaojinhong.订购单明细 values('OR0017','43','音响',500,143)
insert into yaojinhong.订购单明细 values('OR0001','44','吸尘器',1688,40)
insert into yaojinhong.订购单明细 values('OR0012','45','油烟机',3500,10)
insert into yaojinhong.订购单明细 values('OR0010','46','台式电脑',4000,25)
insert into yaojinhong.订购单明细 values('OR0013','47','空调',50,230)
insert into yaojinhong.订购单明细 values('OR0005','48','电视机',1300,100)
insert into yaojinhong.订购单明细 values('OR0016','49','洗衣机',3400,15)
insert into yaojinhong.订购单明细 values('OR0011','50','笔记本',6000,20)
insert into yaojinhong.仓库 values('QW0001','惠州',600)
原因:违反了PRIMARY KEY 约束'PK__仓库__530C599C7F60ED59'。不能在对象'yaojinhong.仓库' 中插入重复键。语句已终止。
insert into yaojinhong.职工 values('ZG000011','QW0009',3000)
原因:仓库号列参照仓库表的仓库号,此时在仓库表中找不到仓库号为QW0009的仓库。INSERT 语句与FOREIGN KEY 约束"FK__职工__仓库号__0AD2A005"冲突。该冲突发生于数据库"实验",表"yaojinhong.仓库", column '仓库号'。
insert into yaojinhong.仓库 values('QW0006','天津',30)
原因:在定义时,面积要大于等于50,这里面积为30,明显违反了用户定义完整性
delete yaojinhong.仓库 where 城市='北京'
删除 *** 作失败。因为有职工参照了干记录
delete yaojinhong.供应商 where 供应商号='S002'
因为删除参照完整性规则定义为set null
alter table yaojinhong.职工
drop constraint ck
alter table yaojinhong.职工
drop column 仓库号
alter table yaojinhong.职工
add 仓库号 char(6)constraint ck foreign key references yaojinhong.仓库
on delete cascade
on update cascade
update yaojinhong.职工 set 仓库号='QW0006' where 职工号='ZG000002'
更新 *** 作失败,因为职工表所参考的仓库表中不存在仓库号为QW0006的仓库。
update yaojinhong.仓库 set 仓库号=null where 仓库号='QW0001'
更新 *** 作失败,因为仓库号是关键字,不能为空。
update yaojinhong.仓库 set 面积=30 where 仓库号='QW0001'
更新 *** 作失败,因为面积被定义约束大于或等于50,此处面积=30,显然违反了约束。
update yaojinhong.职工 set 工资=(工资+(工资*0.1))
update yaojinhong.订购单 set 金额=(select SUM(单价*数量) from yaojinhong.订购单明细
where 订购单明细.订购单号=订购单.订购单号)
delete yaojinhong.职工 where 仓库号 in (select 仓库号 from yaojinhong.仓库 where 城市='北京')
delete yaojinhong.订购单 where 供应商号 in (select 供应商号 from yaojinhong.供应商 where 供应商名='广工')
实验4
1 select distinct 工资 from yaojinhong.职工
select all 工资 from yaojinhong.职工
2 select * from yaojinhong.仓库
3 select 职工号 from yaojinhong.职工 where 工资>5000
4 select * from yaojinhong.仓库 where 仓库号 in(select 仓库号 from yaojinhong.职工 where 工资>5000)
5 select 职工号 from yaojinhong.职工 where 仓库号 in ('QW0005','QW0002') and 工资<5000
6 select * from yaojinhong.职工 where 工资 between 3000 and 5000
7 select * from yaojinhong.供应商 where 供应商名 like '%公司'
8 select * from yaojinhong.仓库 where 城市!='北京
9 select * from yaojinhong.订购单 where 供应商号 is null
10 select * from yaojinhong.订购单 where 供应商号 is not null
11 select * from yaojinhong.职工 order by 工资 ASC
12 select * from yaojinhong.职工 order by 仓库号 ASC,工资 DESC
13 select 职工号,城市 from yaojinhong.职工 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号 where 工资>6000
14 select 职工号,城市 from yaojinhong.职工 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号 where 面积>700
16 select * from yaojinhong.仓库 cross join yaojinhong.职工
17 select * from yaojinhong.仓库 cross join yaojinhong.职工
where 仓库.仓库号=职工.仓库号
18 select 供应商.供应商号,供应商名,订购单号,订购日期 from yaojinhong.供应商 join yaojinhong.订购单
on 供应商.供应商号=订购单.供应商号
19 select 供应商.供应商号,供应商名,订购单号,订购日期 from yaojinhong.供应商 left join yaojinhong.订购单
on 供应商.供应商号=订购单.供应商号
20 select 供应商.供应商号,供应商名,订购单号,订购日期 from yaojinhong.供应商 right join yaojinhong.订购单 on 供应商.供应商号=订购单.供应商号
21 select 供应商.供应商号,供应商名,订购单号,订购日期 from yaojinhong.供应商 full join yaojinhong.订购单 on 供应商.供应商号=订购单.供应商号
22 select 城市 from yaojinhong.仓库 where 仓库号 in
(select 仓库号 from yaojinhong.职工 where 工资=3300)
23 select * from yaojinhong.仓库 where 仓库号 not in
(select 仓库号 from yaojinhong.职工 where 工资<5000)
24 select * from yaojinhong.职工 where 工资 in
(select 工资 from yaojinhong.职工 where 职工号='ZG000001')
and 职工号!='ZG000001'
25 select 城市 from yaojinhong.仓库 where 仓库号 in
(select 仓库号 from yaojinhong.职工 where 职工号 in
(select 职工号 from yaojinhong.订购单 where 供应商号 in
(select 供应商号 from yaojinhong.供应商 where 地址='广州')))
26 select 供应商名 from yaojinhong.供应商 join yaojinhong.订购单 on 供应商.供应商号=订购单.供应商号 join yaojinhong.职工 on 订购单.职工号=职工.职工号 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号 where 地址='广州'and 城市='广州'
select 供应商名
from yaojinhong.供应商 where 地址='广州' and 供应商号 in
(select 供应商号 from yaojinhong.订购单 join yaojinhong.职工 on 订购单.职工号=职工.职工号
join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号 where 城市='广州')
27 select 仓库号 from yaojinhong.仓库 where 仓库号 in
(select 仓库号 from yaojinhong.职工 where 工资>any
(select 工资 from yaojinhong.职工 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号
where 仓库.仓库号='QW0001')and 仓库号!='QW0001')
28 select 仓库号 from yaojinhong.仓库 where 仓库号 in
(select 仓库号 from yaojinhong.职工 where 工资>all
(select 工资 from yaojinhong.职工 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号
where 仓库.仓库号='QW0001'))
29 select * from yaojinhong.订购单 a where 金额=
(select MAX(金额) from yaojinhong.订购单 b where a.职工号=b.职工号)
order by 职工号 ASC
30 select * from yaojinhong.仓库 where exists(select * from yaojinhong.职工 where 职工号 is null and 职工.仓库号=仓库.仓库号)
31 select * from yaojinhong.仓库 where not exists(select * from yaojinhong.职工 where 职工号 is null and 职工.仓库号=仓库.仓库号)
32 select COUNT(distinct 城市)城市数目 from yaojinhong.仓库 where 城市 is not null
33 select SUM(工资)需要支付职工工资总数 from yaojinhong.职工
34 select SUM(工资)北京和上海的仓库职工的工资总和 from yaojinhong.职工 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号
where 城市='北京' or 城市='上海'
35 select AVG(面积)平均面积 from yaojinhong.仓库 where 仓库号 not in
(select 仓库号 from yaojinhong.职工 where 工资<6000)
36 select max(金额)工资大于的职工所经手的订购单最高金额 from yaojinhong.订购单 where 职工号 in
(select 职工号 from yaojinhong.职工 where 工资>6000)
37 select 仓库号,AVG(工资)平均工资 from yaojinhong.职工
group by 仓库号
38 select 仓库号,max(金额)最高金额,MIN(金额)最低金额,AVG(金额)平均金额 from yaojinhong.职工 join yaojinhong.订购单 on 职工.职工号=订购单.职工号 group by 仓库号
39 select 订购单.订购单号,AVG(金额)平均金额 from yaojinhong.订购单 join yaojinhong.订购单明细 on 订购单.订购单号=订购单明细.订购单号
group by 订购单.订购单号 having COUNT(订购单.订购单号)>=5
40 select 仓库号,职工号,工资 from yaojinhong.职工
order by 仓库号
compute avg(工资),sum(工资)by 仓库号
compute avg(工资),sum(工资)
41select 订购单明细.订购单号,序号,产品名称,单价,数量,金额
from yaojinhong.订购单明细 join yaojinhong.订购单 on
订购单.订购单号=订购单明细.订购单号 order by 订购单.订购单号
compute avg(金额),sum(金额)by 订购单.订购单号
compute avg(金额),sum(金额)
42 select * from yaojinhong.订购单
compute avg(金额),sum(金额)
实验5
一
(1) 基于单个表按投影 *** 作定义视图。
create view yaojinhong.仓库视图 as select * from yaojinhong.仓库
(2) 基于单个表按选择 *** 作定义视图。
create view yaojinhong.仓库视图1 as select * from yaojinhong.仓库 where 城市='广州'
(3) 基于单个表按选择和投影 *** 作定义视图。
create view yaojinhong.仓库视图2 as select 仓库号,面积 from yaojinhong.仓库 where 城市='广州'
(4) 基于多个表根据连接 *** 作定义视图。
create view yaojinhong.视图3 as select 职工号,城市,工资 from yaojinhong.职工 join yaojinhong.仓库 on 职工.仓库号=仓库.仓库号
(5) 基于多个表根据嵌套查询定义视图。
create view yaojinhong.视图4 as select * from yaojinhong.仓库 where 仓库号 in
(select 仓库号 from yaojinhong.职工 where 工资>4000)
(6) 定义含有虚字段的视图。
create view yaojinhong.虚字段视图(仓库号,城市,面积) as select 仓库号,城市,面积*2 from yaojinhong.仓库
2、分别在定义的视图上设计一些查询(包括基于视图和基本表的连接或嵌套查询)。
select * from yaojinhong.仓库视图
select * from yaojinhong.仓库视图1 where 城市='广州'
select 仓库号,面积 from yaojinhong.仓库视图2
select 职工号,城市,工资 from yaojinhong.职工 join yaojinhong.仓库视图 on 职工.仓库号=仓库视图. 仓库号
select * from yaojinhong.仓库视图 where 仓库号 in
(select 仓库号 from yaojinhong.职工 where 工资>4000)
3、在不同的视图上分别设计一些插入、更新和删除 *** 作,分情况讨论哪些 *** 作可以成功完成,哪些 *** 作不能完成,并分析原因。
insert into yaojinhong.仓库视图(仓库号,城市) values('QW0008','长沙')
update yaojinhong.仓库视图 set 面积=650 where 仓库号='QW0008'
insert into yaojinhong.仓库视图 values('QW0008','长沙',500)
update yaojinhong.仓库视图 set 面积=700 where 仓库号='QW0001'
delete yaojinhong.仓库视图 where 仓库号='QW0008'
delete yaojinhong.仓库视图 where 仓库号='QW0008'
《数据库原理及应用》
第1章 绪论
1.1 数据管理技术的发展
1.1.1 人工管理阶段
1.1.2 文件系统阶段
1.1.3 数据库管理阶段
1.2 数据库系统结构
1.2.1 三级模式结构
1.2.2 数据库系统的二级独立性
1.2.3 数据库系统的二级映像
1.3 数据库、数据库管理系统和数据库系统
1.3.1 数据库
1.3.2 数据库管理系统
1.3.3 数据库系统
1.4 数据库技术的发展
小结
习题
第2章 数据模型
2.1 数据模型的概念
2.1.1 数据的三个范畴
.2.1.2 数据模型的组成要素及分类
2.2 e-r模型
2.2.1 基本概念
2.2.2 e-r图设计
2.3 面向对象模型
2.3.1 对象建模的基本知识
2.3.2 类图
小结
习题
第3章 关系数据库
3.1 关系数据模型
3.1.1 关系数据模型概述
3.1.2 基本术语
3.1.3 关系的性质
3.2 关系的完整性
3.3 关系代数
3.3.1 传统的集合运算
3.3.2 专门的关系运算
3.3.3 关系代数运算的应用实例
3.3.4 关系代数的扩充 *** 作
小结
习题
第4章 结构化查询语言sql
4.1 sql概述
4.1.1 sql语言的发展
4.1.2 sql语言的特点
4.1.3 sql语言的基本概念
4.2 数据定义语句
4.2.1 基本表的定义
4.2.2 基本表的修改与删除
4.2.3 基本表的删除
4.3 查询
4.3.1 单表查询
4.3.2 连接查询
4.3.3 嵌套查询
4.3.4 集合查询
4.4 数据 *** 纵
4.4.1 插入数据
4.4.2 修改数据
4.4.3 删除数据
4.5 视图
4.5.1 视图的定义与删除
4.5.2 查询视图
4.5.3 更新视图
4.5.4 视图的作用
小结
习题
第5章 存储过程、触发器和数据完整性
5.1 sql server编程结构
5.1.1 变量
5.1.2 显示信息
5.1.3 注释语句
5.1.4 批处理
5.1.5 流程控制语句
5.2 存储过程
5.2.1 存储过程的基本概念
5.2.2 创建存储过程
5.2.3 使用sql server管理控制台执行存储过程
5.2.4 修改和删除存储过程
5.3 触发器
5.3.1 触发器的基本概念
5.3.2 创建触发器
5.3.3 修改和删除触发器
5.4数据库完整性
5.4.1 约束
5.4.2 默认值
5.4.3 规则
5.4.4 用户定义的数据完整性
小结
习题
第6章 关系数据库设计理论
6.1 问题的提出
6.2 基本概念
6.2.1 函数依赖
6.2.2 码
6.3 规范化
6.3.1 第一范式
6.3.2第二范式
6.3.3 第三范式
6.3.4 bc范式
6.3.5 多值依赖与第四范式
6.3.6 关系模式规范化
6.4 函数依赖的公理系统
6.4.1 armstrong公理系统
6.4.2 闭包
6.4.3 函数依赖集的等到价和最小化
6.5 模式分解
6.5.1 模式分解的准则
6.5.2 分解的函数依赖保持性和无损连接性
6.5.3 模式分解的算法
小结
习题
第7章 索引
7.1 索引的概念
7.1.1 聚集索引
7.1.2 非聚集索引
7.1.3 唯一索引
7.1.4 何时应该创建索引
7.1.5 系统如何访问表中的数据
7.2 sql server 2005中的索引
7.2.1 索引的结构
7.2.2 管理索引
小结
习题
第8章 数据库设计
8.1 数据库设计概述
8.2 数据库设计的过程
8.2.1 数据库设计的步骤
8.2.2 需求分析阶段
8.2.3 概念设计阶段
8.2.4 逻辑设计阶段
8.2.5 物理设计阶段
8.2.6 数据库实现阶段
8.2.7 数据库的运行与维护阶段
8.3 数据库设计实例:电网设备抢修物资管理数据库设计
8.3.1 需求分析
8.3.2 概念模型
8.3.3 逻辑模型
小结
习题
第9章 数据库安全
9.1 安全性概述
9.1.1 用户标识与鉴别
9.1.2 存取控制
9.1.3 自主存取控制方法
9.1.4 强制存取控制方法
9.1.5 视图机制
9.1.6 审计
9.1.7 数据加密
9.2 sql server的安全性
9.2.1 sql server 2005的身份验证模式
9.2.2 sql server 2005的安全机制
9.3 用户管理和角色管理
9.3.1 登录用户和数据库用户
9.3.2 用户管理
9.3.3 角色管理
9.3.4 sql server的固定角色
9.4 权限管理
9.4.1 授予权限
9.4.2 收回权限
9.4.3 禁止权限
9.5 架构
小结
习题
第10章 数据库保护
10.1 事务
10.1.1 事务的定义
10.1.2 事务的acid性质
10.1.3 事务的状态
10.2 并发控制
10.2.1 并发 *** 作与数据的不一致性
10.2.2 封锁
10.2.3 并发 *** 作的调度
10.3 数据库的恢复
10.3.1 存储器的结构
10.3.2 恢复的原则和实现方法
10.3.3 故障类型和恢复方法
10.4 sql server数据库备份与恢复
10.4.1 数据库备份方法
10.4.2 数据库恢复
小结
习题
第11章数据库技术新进展
11.1 数据仓库
11.1.1 数据仓库的概念、特点与组成
11.1.2 数据的技术
11.1.3 数据仓库的几个重要概念
11.1.4 数据仓库的结构
11.1.5 数据仓库的多维数据模型
11.1.6 数据仓库系统设计
11.1.7 数据仓库的未来
11.2 数据挖掘
11.2.1 支持数据挖掘的基础
11.2.2 数据挖掘的分析方法
11.2.3 数据挖掘常用的基本技术
11.2.4数据挖掘技术实施的步骤
11.2.5数据挖掘技术发展
11.3 数据库技术的研究及发展
11.3.1 数据库技术的研究热点
11.3.2 数据库技术的发展方向
11.4 结语
小结
习题
附录a sql server 2005的安装及使用
a.1 sql server简介
a.2 sql server 2005的安装
a.3 sql server配置管理器
a.4 启动sql server服务
a.5 使用sql server management studio管理数据库
附录b 实验
实验一 通过sql server management studio创建及管理数据库
实验二 通过sql语句创建与管理数据表
实验三 单表查询
实验四 复杂查询
实验五 视图的创建与使用
实验六 存储过程
实验七 触发器
实验八 实现数据完整性
实验九 索引及数据库安全
参考文献
表建得不合理,不符合数据库规范化要求,课程并不是由学号所决定了,课程可作为一个独立的表,还有,成绩是有学号和课程号共同决定的,因此成绩表也应该列出来作为一个独立的表。应该分为3个表来建立数据库
1、学生信息表(学号,姓名,性别,出生日期,联系电话)
2、课表(课程号,课程名)
3、成绩表(学号,课程号,成绩)
期中学号是学生表的主键,课程号是课表的主键,学号和课程号组合是成绩表的主键,两者共同决定成绩。
拆分出来后,避免了数据冗余的问题,消除专递依赖!
完整性参照很简单,你自己解决吧。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)