1. 创建一个名字为factory的数据库
(1)将主数据库文件factory_Data.MDF放置在E:\DBF文件夹中,其文件大小为10MB,并且自动按5MB增长。
(2)将事务日志文件factory_Log.LDF放置在E:\DBF文件夹中,其文件大小为10MB,并且自动按1MB增长。
注意:首先在E盘新建一个名为DBF的文件夹,再键入下列语句:
CREATE DATABASE factory
ON (
NAME = factory_Data,
FILENAME = 'E:\DBF\factory_Data.MDF',
SIZE =10MB,
FILEGROWTH = 5MB
)
LOG ON (
NAME = factory_Log,
FILENAME = 'E:\DBF\factory_Log.LDF',
SIZE =10MB,
FILEGROWTH = 1MB
)
键入上述语句后,可在DBF的文件夹中看到建立好的这两个文件。
2. 在所建的数据库factory中,建立各表:
(1)建立职工表worker,其结构为:职工号:int,姓名:char(8),性别:char(2),出生日期:datetime,党员否:bit,参加工作时间:datetime,部门号:int。其中“职工号”为主键。在worker表中输入如下记录:
职工号 |
姓名 |
性别 |
出生日期 |
党员否 |
参加工作 |
部门号 |
1 |
孙华 |
男 |
1952-01-03 |
1 |
1970-10-10 |
1 |
3 |
陈明 |
男 |
1945-05-08 |
0 |
1965-01-01 |
2 |
7 |
程西 |
女 |
1965-06-10 |
否 |
2002-07-10 |
1 |
2 |
孙天奇 |
女 |
1965-03-10 |
是 |
1987-07-10 |
2 |
9 |
刘夫文 |
男 |
1942-01-11 |
否 |
1960-08-10 |
2 |
11 |
刘欣 |
男 |
1952-10-08 |
否 |
1970-01-07 |
1 |
5 |
余慧 |
男 |
1980-12-04 |
否 |
2002-07-10 |
3 |
8 |
张旗 |
男 |
1980-11-10 |
否 |
2002-07-10 |
2 |
13 |
王小燕 |
女 |
1964-02-10 |
否 |
1989-07-15 |
1 |
4 |
李华 |
男 |
1956-08-07 |
否 |
1983-07-20 |
3 |
10 |
陈涛 |
男 |
1958-02-10 |
是 |
1984-07-12 |
2 |
14 |
李艺 |
女 |
1963-02-10 |
否 |
1990-07-20 |
3 |
12 |
李涵 |
男 |
1965-04-19 |
是 |
1989-07-10 |
3 |
15 |
魏君 |
女 |
1970-01-10 |
否 |
1993-07-10 |
3 |
6 |
欧阳少兵 |
男 |
1971-12-09 |
是 |
1992-07-20 |
3 |
(2)建立部门表depart,其结构为:部门号:int,部门名:char(10)。其中,“部门号”为主键。在depart表中输入如下记录:
部门号 |
部门名 |
1 |
财务处 |
2 |
人事处 |
3 |
市场部 |
(3)建立职工工资表salary,其结构为:职工号:int,姓名:char(8),日期:datatime,工资:decimal(6,1)。其中“职工号”和“日期”为主键。在salary表中输入如下记录:
职工号 |
姓名 |
日期 |
工资 |
1 |
孙华 |
2004-01-04 |
1201.5 |
3 |
陈明 |
2004-01-04 |
1350.6 |
7 |
程西 |
2004-01-04 |
750.8 |
2 |
孙天奇 |
2004-01-04 |
900.0 |
9 |
刘夫文 |
2004-01-04 |
2006.8 |
11 |
刘欣 |
2004-01-04 |
1250.0 |
5 |
余慧 |
2004-01-04 |
725.0 |
8 |
张旗 |
2004-01-04 |
728.0 |
13 |
王小燕 |
2004-01-04 |
1200.0 |
4 |
李华 |
2004-01-04 |
1500.5 |
10 |
陈涛 |
2004-01-04 |
1245.8 |
14 |
李艺 |
2004-01-04 |
1000.6 |
12 |
李涵 |
2004-01-04 |
1345.0 |
15 |
魏君 |
2004-01-04 |
1100.0 |
6 |
欧阳少兵 |
2004-01-04 |
1085.0 |
1 |
孙华 |
2004-02-03 |
1206.5 |
3 |
陈明 |
2004-02-03 |
1355.6 |
7 |
程西 |
2004-02-03 |
755.8 |
2 |
孙天奇 |
2004-02-03 |
905.0 |
9 |
刘夫文 |
2004-02-03 |
2011.8 |
11 |
刘欣 |
2004-02-03 |
1255.0 |
5 |
余慧 |
2004-02-03 |
730.0 |
8 |
张旗 |
2004-02-03 |
733.0 |
13 |
王小燕 |
2004-02-03 |
1205.0 |
4 |
李华 |
2004-02-03 |
1505.5 |
10 |
陈涛 |
2004-02-03 |
1250.8 |
14 |
李艺 |
2004-02-03 |
1005.6 |
12 |
李涵 |
2004-02-03 |
1350.0 |
15 |
魏君 |
2004-02-03 |
1105.0 |
6 |
欧阳少兵 |
2004-02-03 |
1085.0 |
3. 在题2所建立的factory数据库上,完成如下各题:
(1)求出各部门的党员人数。
(2)显示所有职工的职工号、姓名和平均工资。
(3)显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。
(4)显示所有职工的职工号、姓名、部门名和2004年2月份工资,并按部门名顺序排列。
(5)显示各部门名和该部门的所有职工平均工资。
(6)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。
(7)若存在职工号为10的职工,则显示其工作部门名字。
(8)在salary表的“职工号”和“日期”列创建聚集索引,并且强制唯一性, 若该索引已存在,则删除后重建。
(9)建立视图View1,显示所有职工的姓名和2004年1月份工资数。
(10)建立视图View2,查询各部门女职工的姓名和其平均工资。
存储过程
触发器