资源描述
数据库上机第一题
使用企业管理器和查询分析器打开两个示例数据库,查看表中信息,记录数据库结构,绘出其关联关系,分析其功能并绘出功能框图。
SQL Server2000有四个系统数据库
这四个数据是关联到建立这两个示例数据库和用户建立的任何数据库
● master 数据库
master 数据库记录了SQL Server 2000所有的服务器级系统信息,所有的注册帐户和密码以及所有的系统设置信息。还记录了所有用户定义数据库的存储位置和初始化信息。
因此不允许任何人对master 数据库做直接的修改,如果实在需要修改其中的内容可以通过系统存储过程执行。
● tempdb 数据库
tempdb数据库记录了所有的临时表格、临时数据和临时创建的存储过程。tempdb数据库是一个全局资源,没有专门的权限限制,允许所有可以连接上SQL Server服务器的用户使用。
● model 数据库
model 数据库是建立新数据库的摸板,它包含了将复制到每个数据库中的系统表。执行创建数据库的语句CREATE DATABASE时,服务器总是通过复制model数据库建立新数据库的前面部分,新数据库的后面部分被初始化成空白的数据页,以存放数据。
● mstdb 数据库
mstdb 数据库主要被SQL Server Agent用于进行复制、作业调度以及管理报警等活动。该数据库常用于通过调度任务排除故障。
PUBS数据库是模仿一个图书出版公司建立的数据库模型,其中包含了大量的样本表和样本数据,有出版者(publishers),出版物(titles),作者(authors).书店(store)等。其他的用户表,记录这几个表之间的状态关系。
PUBS中一共用到的用户表有:
1 authors
2 discounts
3 employee
4 jobs
5 pub_info
6 publishers
7 roysched
8 sales
9 stores
10 titleautor
11 titles
这11 个表其中publishers titles authors store 这四个表记录了出版者 出版物 作者 书店这四个实体,其他的表记录实体之间的状态关系。
这个数据库中还有一些系统表用来记录数据库系统信息,在创建数据库时自动生成,就不详细分析了。
用户表的关联关系是:
从上图可以清除的看到各个用户表之间的关联关系。
该数据库的主要的用户表功能框图是 :
Publisher表
PUBS数据库
Titles表
Authors表
Store表
保存出版者信息
保存出版物信息
保存作者信息
保存商店信息
其它的用户表是用来表示这几个实体之间的关联关系,就不详列了。
Northwind数据库是模仿贸易公司的数据库模型,这个公司的名称叫Northwind,专门经营世界各地的风味食品的进出口。在这个数据库中包含大量与经营有关的的大多数据,如:雇员(Employees),顾客(Customers),运输商(Shipper),供货商(Territories),订单(Orders),以及一些记录各表之间状态的表。
Northwind 数据库用到的用户表有:
1CustomerCustomerDemo
2 Customers
3 CustomerDemographics
4 Orders
5 Shippers
6 Employees
7 Territories
8 EmployeeTerritories
9 Region
10 Suppliers
11 Products
12 Order Details
13 Categories
用这13个表记录了雇员,顾客,运输商,供货商,订单这些实体以及实体之间的关联关系。
用户表之间的关联关系是:
数据库主要用户表的功能图
Northwind数据库
Employees
Customers
Shipper
Territories
Orders
雇员的信息
顾客的信息
运输商的信息
供运商的信息
订单的信息
其他的用户表是表示这几个主要表之间的关联关系。
题目二 创建学籍管理数据库
学籍管理数据库技术指标
一. 学生入学档案登记
二. 学生培养阶段的信息记录
1. 二年级有部分同学将大专毕业(所学课程及格率小于10%,补考通过)
2. 四年级有部分将不能按时毕业(毕业设计不及格,英语四级不合格)
3. 有部分同学专升本插入二年级
4. 其它各种中途退学
三. 学生毕业档案登记
系统查询功能:
1. 按年级查询、统计
2. 按专业查询、统计
3. 按学院查询、统计
4. 按学号查询
5. 按姓名查询
注:每届学生人数20000,保存十年。
这个学籍管理数据库我一共创建了四个用户表,分别是:
1 学生基本信息表students
2 学生选课成绩表 coursegrate
3 课程表 course
4 毕业档案登记表 gradute
下面详细说明这些用户表
学生表报含以下列
Number 学号 (主码) 设计成10位:1,2位为年份;3,4位学院号,5,6位专业号,后四位为同一个专业的学生区别号。 这样设计完全可以达到一年两万学生的要求。
Name 学生姓名
Age 学生年龄
Birth出生年月
Native place 籍贯
Sex 性别
College 学院
Major 专业
State 标志位 这个标志位的作用是区别学生是本科还是专科,置1位本科,置2 为专科 ,置3 为退学,中途退学,毕业表里就不会出现该同学的名字,置4为留级比如四级没有过或毕业设计不及格。当能还可以根据实际情况扩展。
学生选课成绩表包含以下列
Coursenumber 课程号
Studentnumber 学号
Sort 种类 有必修和选修之分
Grade 成绩
Flag 设这个标志位是要记录学生是否补考,置1为补考,相应的成绩为60 ,置0为没有补考。
课程表包含以下列:
Coursenumber 课程号
Teachernumber 教师号
Term 学期
把毕业设计和四级当成普通的一门课程,这样设计是为了方便,而且说不定将来就取消了四级,这样也符合将来数据库变更的需要。不同是四级和毕设可能teachernumber 和term特殊一点,所以这两列属性设为可以置空。
毕业档案登记表包含以下列
Studentnumber 学号
Year 年份
Results 毕业评价,一些相关的备注都记录在这项里。
我设计的这四个用户表基本上把学生学籍管理的方面想到了,students表包括学生基本信息,在学生进学校时就应该登记的表,即作为学生入学档案案,学生培养阶段,如退学,留级情况还要回来修改该表。
Coursegrate 和course 表是学生培养阶段最重要的成绩记录表,把四级和毕设当为普通科目是为了简单起见,同时也符合将来数据库变更的需要,比如四级取消。不同的是这两门没有通过的话就要面临留级或退学的问题。
毕业档案登记表graduate 这个表只记录每年毕业学生的学号,和相应的平语。要知道详细的查找学生表。为了方便查找,我还定义了一个视图graduateview,关联学生表和毕业表。
CREATE VIEW graduateview
AS
select studentnumber, year, name, age, sex,college,major,state,results
from graduate, students
where graduate.studentnumber = students.studentnumber
这四个用户表的关联关系是:
学生学籍数据库功能框图是:
学生学籍管理数据库
Students
coursegrate
course
graduate
学生基本信息
课程成绩
课程
毕业档案登记
系统提供一定的查询功能:
展开阅读全文