图14 学生基本信息物理设计
2.5物理结构设计
2.5.1系统的物理结构设计
(1)确定关系模型的存取方法
在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引; 在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。
(2)确定数据库的存储结构
确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。因为该学籍管理系统的数据量小,而且只作实验之用,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。
2.5.2数据库的实施与数据载入
(1)数据库的实施
首先在数据库中建立一个学生数据库,然后新建一个数据源,在porwerDesigner中先建立连接 Database——>Connect ,然后在弹出的对话框中选择数据源,填好数据库的用户名和密码(在本连接中用户名为sa密码为空),然后连接,最后检测数据是否连接正确。在数据库连接好了之后点击 Database—> Generate Database 将弹出的对话框的Generation 单选按扭选择为 ODBC Generation然后选择确定便可执行数据库的实施,生成的主要代码如下:
/*==============================================================*/
/* DBMS name: Microsoft SQL Server 2000 */
/* Created on: 2009-7-1 10:56:43 */
/*==============================================================*/
-----------------------创建课程表-------------------
create table Course (
课程号 varchar(5) not null,
课程名 varchar(10) null,
先行课 smallint null,
学分 int null,
备注 varchar(16) null,
constraint PK_COURSE primary key (课程号)
)
go
execute sp_addextendedproperty 'MS_Description',
'学校所有课程描述',
'user', '', 'table', 'Course'
go
-----------------------创建院系表-------------------
create table Department (
院系代号 varchar(5) not null,
院系名 varchar(10) null,
系主任 varchar(8) null,
备注 varchar(16) null,
constraint PK_DEPARTMENT primary key (院系代号)
)
go
execute sp_addextendedproperty 'MS_Description',
'学校所有的院系信息描述',
'user', '', 'table', 'Department'
go
-----------------------创建专业表-------------------
create table Major (
专业号 varchar(5) not null,
院系代号 varchar(5) null,
专业名称 varchar(16) null,
备注 varchar(16) null,
constraint PK_MAJOR primary key (专业号)
)
go
execute sp_addextendedproperty 'MS_Description',
'学校所有专业信息描述',
'user', '', 'table', 'Major'
go
-----------------------在专业表上创建索引-------------------
create index DM_FK on Major (
院系代号 ASC
)
go
-----------------------创建学生与课程的成绩表----------------------
create table SC (
学号 bigint not null,
课程号 varchar(5) not null,
constraint PK_SC primary key (学号, 课程号)
)
go
-----------------------在SC表上创建索引SC_FK与SC2_FK-------------------
create index SC_FK on SC (
学号 ASC
)
Go
create index SC2_FK on SC (
课程号 ASC
)
go
-----------------------创建学生基本信息表-------------------
create table StudentsInfo (
班级 varchar(16) null,
学号 bigint not null,
院系代号 varchar(5) null,
专业号 varchar(5) null,
姓名 varchar(6) null,
性别 varchar(2) null,
出生年月 datetime null,
籍贯 varchar(8) null,
民族 varchar(2) null,
家庭住址 varchar(20) null,
入学时间 datetime null,
政治面貌 varchar(6) null,
身份证号 char(18) null,
联系电话 varchar(12) null,
备注 varchar(14) null,
constraint PK_STUDENTSINFO primary key (学号)
)
go
execute sp_addextendedproperty 'MS_Description',
'学生基本信息描述',
'user', '', 'table', 'StudentsInfo'
go
---------------------------创建院系代号索引------------------------------
create index SD_FK on StudentsInfo (
院系代号 ASC
)
go
--------------------------创建专业号索引------------------------------
create index SM_FK on StudentsInfo (
专业号 ASC
)
go
---------------------------创建教师与课程关系表------------------------------
create table TC (
课程号 varchar(5) not null,
教师号 varchar(5) not null,
constraint PK_TC primary key (课程号, 教师号)
)
go
---------------------------建立课程号索引------------------------------
create index TC_FK on TC (
课程号 ASC
)
go
--------------------------建立教师号索引------------------------------
create index TC2_FK on TC (
教师号 ASC
)
go
---------------------------创建 教师表------------------------------
create table Teacher (
教师号 varchar(5) not null,
院系代号 varchar(5) null,
姓名 varchar(6) null,
性别 char(2) null,
年龄 int null,
工龄 int null,
备注 varchar(16) null,
constraint PK_TEACHER primary key (教师号)
)
go
execute sp_addextendedproperty 'MS_Description',
'学校教师信息描述',
上一页 [1] [2] [3] [4] [5] [6] 下一页