一、创建学生成绩管理数据库
1、学生成绩管理数据库概念模型(E—R图)如下:
2、在查询分析器中创建学生成绩管理数据库,数据库名为“学生成绩管理表”,
物理文件的存储位置为:“E:\ 学生成绩管理表\XSCJGLB”;
⑴打开查询分析器,在查询分析器中输入如下代码创建数据库
CREATE DATABASE 学生成绩管理表
ON PRIMARY
( NAME=XSCJGLB_DATA,
FILENAME='E:\学生成绩管理表\XSCJGLB.MDF',
SIZE=5,
FILEGROWTH=10%)
LOG ON
(NAME=XSCJGLB_LOG,
FILENAME='E:\学生成绩管理表\XSCJGLB.LDF',
SIZE=1,
MAXSIZE=10,
FILEGROWTH=10)
⑵单击运行按钮,显示运行结果如图1所示
图1 建立数据库
⑶在企业管理器中窗体示意图如图2所示
图2 企业管理器学生成绩管理数据库示意图
3、根据数据库概念模型(E—R图)建立基本表如下:
学生表(学号,姓名,性别,出生日期,系部,班级,备注)
课程表(课程号,课程名,开课日期,任课教师)
成绩表(学号,课程号,成绩)
4、在查询分析器中在学生成绩管理数据库中新建表:
字段数据类型长度是否允许空值备注学号Char 8 否主键
姓名Char 10 否
性别Char 2 是做检查约束出生日期Smalldatetime 否
系部Char 30 是
班级Char 30 是
备注Text 是
字段数据类型长度是否允许空值备注课程号Char 4 否主键
课程名Char 30 否
开课日期Tinyint 是第1~6学期任课教师Char 10 是
⑶成绩表结构
字段数据类型长度是否允许空值备注
学号Char 8 否主键
课程号Char 4 否主键
成绩Tinyint 是在1~100之间
⑷在查询分析器中创建学生表、课程表、成绩表程序代码如下:
USE 学生成绩管理表
CREATE TABLE 学生表
(学号CHAR(8) PRIMARY KEY NOT NULL,
姓名CHAR(10) NOT NULL,
性别CHAR(2) NULL,
出生日期SMALLDATETIME NOT NULL,
系部CHAR(30) NULL,
班级CHAR(30) NULL,
备注TEXT NULL,
CONSTRAINT 约束1 CHECK(性别IN ('男','女')))
CREATE TABLE 课程表
(课程号CHAR(4) PRIMARY KEY NOT NULL,
课程名CHAR(30) NOT NULL,
开课日期TINYINT NULL,
任课教师CHAR(10) NULL,
CONSTRAINT 约束2 CHECK(开课日期LIKE '[1-6]'))
CREATE TABLE 成绩表
(学号CHAR(8) NOT NULL,
课程号CHAR(4) NOT NULL,
成绩TINYINT NULL,
CONSTRAINT 约束3 CHECK(成绩BETWEEN 1 AND 100),
CONSTRAINT 约束4 PRIMARY KEY CLUSTERED (学号,课程号), CONSTRAINT 约束5 FOREIGN KEY (学号) REFERENCES 学生表(学号), CONSTRAINT 约束6 FOREIGN KEY (课程号) REFERENCES 课程表(课程号),) ⑸单击运行按钮,显示运行结果如图3所示
图3 建表示意图
⑹在企业管理器中查看设计界面
①在企业管理器中窗体示意图如图4所示
图4 企业管理器中各表②企业管理器中学生表设计示意图,图5所示
图5 学生表
③企业管理器中课程表表设计示意图,图6所示
图6 课程表
④企业管理器中成绩表设计示意图,图7所示
图7 成绩表
二、在企业管理器中创建关系图
⑴打开企业管理器中学生成绩管理表数据库,选择“关系图”,右击“关系图”选项,如图8所示,弹出快捷菜单
⑵在弹出的快捷菜单中选中新建数据库关系图弹出图9对话框,单击【下一步】按钮,在可用的表中将学生表、成绩表、课程表添加到右侧列表框中,出现图10 所示对话框,单击【下一步】查看选中的表,如图11所示
图8 关系图快捷菜单图9 关系图向导对话框
图10 添加表对话框图11 完成数据库关系向导
⑶单击【完成】按钮,出现如图12 所示关系图
图12 学生成绩管理表关系图
⑷在弹出的“另存为”对话框中输入学生表关系图如图13 所示
图13 保存学生表关系图
三、在企业管理器中创建视图
⑴打开企业管理器中学生成绩管理表数据库,选择“视图”,右击“视图”选项,如图14所示,弹出快捷菜单
图14 “视图”快捷菜单
⑵在弹出的菜单中选择“新建视图命令”,将弹出“学生成绩管理表”中的“新视图”,如图15所示,在对话框上半部分的灰色框内右击,从弹出的快捷菜单中选择“添加表”命令,出现如图16所示“添加表”对话框
图15 新视图窗口
图16 添加表对话框
⑶在“添加表”对话框内,选择表学生表、成绩表、课程表,单击【添加】按钮,
关闭“添加表”对话框,返回新视图窗口,如图17所示
图17 添加表后视图
⑷在列中选择要添加到视图中的字段,学号、课程号选择成绩表中的字段,每个字段只选一次,如图18 所示
图18 向视图中添加所需字段
⑸添加表后新视图窗口如图19所示
图19 添加表后视图
⑹单击【保存】按钮,在“另存为”对话框中输入学生表视图,如图20所示,单击【确定】按钮,完成视图的建立
图20 保存视图
四、使用VB
CREATE DATABASE 学生成绩管理表
ON PRIMARY
( NAME=XSCJGLB_DATA,
FILENAME='d:\学生成绩管理表Bdata.mdf',
SIZE=10,
maxsize=500,
FILEGROWTH=10)
LOG ON
( NAME=XSCJGLB_LOG,
FILENAME='d:\学生成绩管理表data.ldf',
SIZE=5,
MAXSIZE=100,
FILEGROWTH=10)
CREATE TABLE 学生表
(学号CHAR(12) PRIMARY KEY NOT NULL,
姓名CHAR(6) NOT NULL,
性别CHAR(2) NULL,
出生日期char(8) NOT NULL,
系部CHAR(30) NULL,
班级CHAR(30) NULL,
CONSTRAINT 约束1 CHECK(性别IN ('男','女')))
create table 课程表
(
课程号CHAR(4) NOT NULL,
课程名CHAR(30) NOT NULL,
开课日期datetime ,
任课教师CHAR(10),
CONSTRAINT 约束2 CHECK(开课日期LIKE '[1-6]'))
alter TABLE 成绩表
(学号CHAR(12) NOT NULL,
课程号CHAR(4) NOT NULL,
成绩INT NULL,
CONSTRAINT 约束3 CHECK(成绩BETWEEN 1 AND 100),
CONSTRAINT 约束4 PRIMARY KEY CLUSTERED (学号,课程号), CONSTRAINT 约束5 FOREIGN KEY (学号) REFERENCES 学生表(学号), CONSTRAINT 约束6 FOREIGN KEY (课程号) REFERENCES 课程表(课程号)) create view view1
as select 学生表.姓名,成绩表.课程号,成绩表.成绩
from 学生表,成绩表
where 学生表.学号=成绩表.学号
create view view2
as select 课程表.课程号,课程表.开课日期
from 课程表,成绩表
where 课程表.课程号=成绩表.课程号。