数据库课程设计NBA选秀系统数据库模型
- 格式:doc
- 大小:70.50 KB
- 文档页数:6
NBA选秀系统数据库模型
一、需求分析
(1)、可行性需求分析
需求分析是指准确了解和分析用户的需求,这是最困难、最费时、最复杂的一步,但也是最重要的一步。需求分析是整个设计过程的基础,它决定了以后各步设计的速度和质量。进行数据库设计首先必须准确了解与分析用户需求(包括数据与处理)。
NBA作为世界上水平最高的篮球俱乐部联盟,深受广大篮球爱好者的追捧,而一年一度的NBA 选秀活动,更成为球迷关注的焦点。作为专门的NBA选秀数据库,一定会满足大众的信息需求。(2)具体的系统信息
选秀系统信息包括三个方面,其具体功能如下:
A.新秀球员信息:包括球员姓名、年龄、籍贯、身高、顺位以及司职位置;新秀球员信息功能包括对球员信息的录入、删除和查询,以及被那个球队选中、选秀信息等。
B.NBA球队信息:包括球队名称、所在城市、上赛季战绩、球队主教练;NBA球队信息功能还包括对球队信息的录入、删除和查询,以及所选新秀、选秀信息等。
C.选秀信息:选秀信息包括新秀姓名、签约球队、入队时间、合同时间、合同金额、有无保障;选秀信息功能还包括各项数据的录入、删除和查询。
(3)具体的软件信息
在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQL SERVER 2008数据库服务器,运用c/s技术,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。
二、概念结构设计
概念结构设计是指对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,是整个数据库设计的关键。
根据各种信息的内容以及它们之间的关系,该数据库系统的E-R图如下:
2.nbateam(NBA球队信息)包括以下属性:球队名称、所在城市、上赛季排名、主教练
保障
四、数据库物理设计
数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:
1.确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;
(1)关系数据库的存取方法:
采用索引方法,主要是B+树索引方法。
(2)数据库的存储结构:
录入数据采用表格方式,限制录入数据类型及取值范围以保证数据的完整性及准确。由于条件不允许,本系统没有将表和索引放在不同的磁盘,没有能够实现磁盘驱动器并行工作,降低了物理I/O读写的效率。为了改进系统的性能,我选择把比较大的表分放在两个磁盘上,以加快存取速度。
2.对物理结构进行评价,评价的重点是时间和空间效率以及安全性。评价物理结构:
(1)数据完成的时间性:
如成绩的录入,仅当师资科录入教学进程,教务科分发教师教学任务安排之后,各系方可录入成绩。
(2)数据安全性:
本系统采用二级安全保障:
第一级:依赖于网络本身对用户使用权限的规定。
第二级:在程序模块中通过使用密码控制功能对用户使用权限加以限制。
五、数据库实施
在数据库实施阶段,设计人员运用DBMS提供的数据库语言(如SQL)及其宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
1.创建新数据库:
打开SQL工具“查询分析器”
在查询窗口中键入下列SQL语句:
create database NBAxuanxiu
执行上述SQL语句即可新建一名为NBAxuanxiu的数据库
2.创建数据表:要创建的数据表分别是:player、nbateam、xuanxiu
(1)创建player数据表:
A新建查询窗口
B在查询窗口中键入下列SQL语句
create table player ( //创建球员信息表
pid char(10) primary key, not null, //新秀顺位
pname char(20) not null, //球员姓名
phome char(20), //球员籍贯
page char(10), //球员年龄
phight char(10), //球员身高
psite char(10), //球员位置
)
执行上述SQL语句即可创建户信息窗口相关表格如下:(附player表数据)
(2)创建nbateam数据表:
create table nbateam ( //创建NBA球队信息表
tname char(50) primary key, not null, //NBA球队名称
tcity char(50) //球队所在城市
tlevel char(10) //上赛季战绩
tcoach char(30) //主教练姓名
)
执行上述SQL语句即可创建管理员信息表相关表格如下:(附nbateam表数据)
(3)创建xuanxiu数据表:
create table xuanxiu( //创建选秀信息表
pname char(20) primary key, not null //球员姓名
tname char(10) not null, //签约球队
intime date //入队时间
zongtime char(5) //合同时长
money char(10) //合同金额
baozhang char(2) //合同有无保障
)
执行上述SQL语句即可创建图书信息表相关表格如下:(附xuanxiu表数据)
六、数据库运行和维护
1. 数据定义:基本表的创建、修改及删除;视图的创建和删除。
(1)基本表的创建与删除(例:player表):
A、创建(修改)基本表
create table player ( //创建球员信息表
pid char(10) primary key, not null, //新秀顺位
pname char(20) not null, //球员姓名
phome char(20), //球员籍贯
page char(10), //球员年龄
phight char(10), //球员身高
psite char(10), //球员位置
)
B、删除基本表
drop table player cascade
(2)视图的操作:数据库视图的定义(创建和删除)、查询和更新
A、创建视图:
create view pidView
as
select pid pname phome page phight psite
from player
where phome =‘美国’
with check option;
B、对视图查询:找出所有来自美国的新秀的顺位和姓名:
select pid pname
from pidView;
C、删除视图:删除前面定义的pidView视图。
Drop view pidView
2.数据操作:即数据库查询操作(单表查询、连接查询、嵌套查询)
(1)单表查询
A、查询顺位(pid)为03的球员姓名(pname):
select pname,pid
from player
where pid=03
B、查询顺位(pid)前十位的球员所有信息:(top)
select top 10 *
from player
C、查询所有新秀的籍贯(phome):(distinct)
select distinct phome
from player
D、查询球员年龄(page)在21-23岁之间的球员信息:(between)
select*
from player