数据库设计文档(样例)
- 格式:docx
- 大小:410.58 KB
- 文档页数:21
数据库详细设计文档模板
引言
这份数据库详细设计文档是为了说明当前数据库的数据存储和管理,以及可能需要对前端应用或其他相关系统作出的改变。
该文档是为了帮助开发者和管理员理解当前数据库结构和功能,以便高效地完成相应的开发和调整工作。
数据库概述
数据库名称
{填写当前数据库的名称}
数据库版本
{填写当前数据库的版本}
数据库结构
{列出数据库的主要结构和关系}
数据表说明
数据表清单
{列出当前数据库所有的数据表}
数据表字段说明
{列出每个数据表的字段名称、数据类型和意义}
数据表索引
{列出所有索引的名称、关联的字段、索引类型和目的}
存储过程和函数
存储过程和函数清单
{列出当前数据库所有的存储过程和函数}
存储过程和函数说明
{为每个存储过程和函数提供简要说明}
触发器
触发器清单
{列出当前数据库所有的触发器}
触发器说明
{为每个触发器提供简要说明}
故障处理
数据库备份策略
{说明当前数据库的备份策略和方法}
数据库恢复策略
{说明当前数据库的恢复策略和方法}
参考资料
{列出用于参考的资料和来源}
结论
{在该部分概述数据库的主要特点和约束条件,以及可能需要在未来进行的开发和调整工作}。
数据库设计范本一、引言数据库设计是软件开发过程中至关重要的一环。
一个良好的数据库设计能够有效地存储和管理数据,并提供高效的数据访问和查询功能。
本文将介绍一个数据库设计范本,包括需求分析、概念设计、逻辑设计和物理设计等方面。
二、需求分析在进行数据库设计之前,首先需要进行需求分析,明确系统的功能和数据需求。
通过与用户沟通和需求调研,收集相关信息,确定数据库的目标和范围。
例如,如果设计一个学生管理系统的数据库,需求分析阶段需要确定需要存储的学生信息、课程信息、成绩信息等。
三、概念设计概念设计是数据库设计的第一步,主要是根据需求分析阶段的结果,构建概念模型。
概念模型使用实体-关系图(ER图)表示,包括实体、属性和关系等元素。
在设计过程中,需要遵循实体完整性、关系完整性和域完整性等原则,确保概念模型的准确性和完整性。
四、逻辑设计逻辑设计是在概念设计的基础上,将概念模型转化为逻辑模型。
逻辑模型使用关系模型表示,即关系数据库的表结构。
在逻辑设计中,需要确定实体与关系的映射关系,定义表的结构、字段和约束等。
同时,需要进行范式化处理,消除数据冗余和更新异常,提高数据库的性能和可靠性。
五、物理设计物理设计是在逻辑设计的基础上,将逻辑模型转化为物理模型。
物理模型是数据库在存储介质上的实际表示,包括表空间、数据文件、索引等。
在物理设计中,需要考虑数据的存储和访问方式,选择适当的存储结构和索引策略,以提高数据库的查询性能和存储效率。
六、实施和维护数据库设计完成后,需要进行实施和维护工作。
实施过程包括数据库的创建、表的建立和数据导入等。
维护工作包括数据备份和恢复、性能监控和调优等。
同时,还需要进行定期的数据库维护和优化,以确保数据库的稳定性和可靠性。
七、总结数据库设计是软件开发过程中不可或缺的一部分。
本文介绍了一个数据库设计范本,包括需求分析、概念设计、逻辑设计和物理设计等方面。
通过合理的数据库设计,可以提高系统的性能和可靠性,满足用户的需求。
数据库设计详细文档1. 引言数据库是应用系统中重要的数据存储和管理工具,本文档将详细介绍我们设计的数据库结构和数据模型。
2. 数据库概述我们设计的数据库用于存储和管理公司的客户数据。
该数据库包括以下几个主要表格:- 客户表:存储客户的基本信息,包括姓名、联系方式、地址等。
- 订单表:记录客户的订单信息,包括订单编号、下单日期、产品信息等。
- 产品表:存储公司提供的产品信息,包括产品编号、名称、价格等。
- 支付表:记录客户的支付信息,包括支付方式、支付金额、支付日期等。
3. 数据库结构3.1 客户表客户表包含以下字段:- ID:客户唯一标识符- 姓名:客户姓名- 手机号码:客户联系方式- 地址:客户地址3.2 订单表订单表包含以下字段:- ID:订单唯一标识符- 客户ID:关联客户表,表示订单所属的客户- 下单日期:订单的下单日期- 总金额:订单的总金额3.3 产品表产品表包含以下字段:- ID:产品唯一标识符- 名称:产品名称- 价格:产品单价3.4 支付表支付表包含以下字段:- ID:支付唯一标识符- 订单ID:关联订单表,表示支付所属的订单- 支付方式:支付的方式,如支付宝、微信支付等- 支付金额:支付金额- 支付日期:支付日期4. 数据模型我们设计的数据库模型如下图所示:5. 数据库功能和操作我们的数据库设计旨在支持以下功能和操作:- 添加客户信息:可以向客户表中添加新的客户信息。
- 查询客户信息:可以根据客户ID或姓名等信息查询客户信息。
- 添加订单信息:可以向订单表中添加新的订单信息。
- 查询订单信息:可以根据订单ID或客户ID等信息查询订单信息。
- 添加产品信息:可以向产品表中添加新的产品信息。
- 查询产品信息:可以根据产品ID或名称等信息查询产品信息。
- 添加支付信息:可以向支付表中添加新的支付信息。
- 查询支付信息:可以根据订单ID或支付日期等信息查询支付信息。
《数据库开发实践》报 告班 级:_____________学 号:_____________姓 名:_____________指导老师:_____________信息与计算机学院二○一三年元月目录1需求分析 (3)1.1开发医院门诊信息系统的目的 (3)1.2医院信息系统的特点 (3)1.3医院门诊信息系统基本功能 (4)1.4门诊业务流程 (4)1.4.1门诊挂号系统 (5)1.4.2“门诊划价收费系统”功能模块 (5)1.4.3 门诊医生工作站 (6)1.4.4门诊药房管理业务 (6)1.4.5系统字典维护 (7)1.4.6门诊护士工作站 (7)1.5病案病历管理系统 (7)1.6门诊管理系统附表 (8)1.7实体和数据 (8)1.7.1实体属性: (8)1.7.2实体联系: (9)2概念设计 (9)2.1各个实体的实体图 (9)2.1.1病人的实体图 (9)2.1.2医生的实体图 (10)2.1.3护士的实体图 (10)2.1.4挂号员的实体图 (11)2.1.5收费员的实体图 (11)2.1.6管理员的实体图 (12)2.1.7收据的实体图 (12)2.1.8挂号单的实体图 (13)2.1.9检查单的实体图 (13)2.1.10化验单的实体图 (13)2.1.11药品的实体图 (14)2.1.12药房的实体图 (14)2.1.13处方主表的实体图 (15)2.1.14处方明细表的实体图 (15)2.1.15病历的实体图 (15)2.2各个子系统的E-R关系图 (16)2.2.1门诊挂号子系统 (16)2.2.2门诊划价收费系统 (16)2.2.3门诊医生工作站 (17)2.2.4门诊药房管理系统 (18)2.2.5门诊护士工作站 (18)2.3E-R关系图 (18)3逻辑设计 (19)3.1关系设计 (19)3.2约束说明 (20)3.2.1各表的完整性约束 (20)3.2.2自动处理过程 (20)4物理设计 (21)4.1关系模式的存取方法 (21)4.2数据库的存储结构 (21)1需求分析1.1开发医院门诊信息系统的目的(1) 强化医院自身的管理,逐步实现医疗价格评价与按成本收费,实现医院内按成本核算与全面财务计划,并体现在建立和优化医院内合理的分配制度上,为此每个医院都迫切需要建立自己的以财务管理为中心的医院管理信息系统。
会签内部文件,注意保管文档编号版本XXXXXX项目系统数据库设计文档编写校对审核批准中心2017年4月版本信息记录日期版本说明作者审核批准目录1引言 (3)1.1编写目的 (3)1.2背景 (3)1.3定义 (3)1.4参考资料 (3)2概述 (4)2.1数据库环境 (4)2.2命名规则 (4)2.3使用它的程序 (4)3物理设计 (4)3.1标识符 (4)3.2物理文件 (5)3.3表空间设计 (5)3.3.1表空间1 (5)3.3.2表空间2 (5)4结构设计 (5)4.1实体关系 (5)4.2实体说明 (6)4.3实体设计 (6)4.3.1数据表1 (6)4.3.2数据表2 (7)4.4序列实体 (7)4.4.1序列1 (7)4.4.2序列2 (8)4.5视图实体 (8)4.5.1视图1 (8)4.5.2视图2 (8)4.6存储过程实体 (8)4.6.1存储过程1 (8)4.6.2存储过程2 (8)5安全设计 (8)6备注 (9)1引言1.1 编写目的[说明编写这份系统数据库设计文档的目的,指出预期的读者。
]注:正文字体为宋体小四号,全文统一。
1.2 背景a.[待开发数据库的名称和使用此数据库的软件系统的名称;]b.[列出本项目的任务提出者、开发者、用户。
]1.3 定义[列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
]表1.1 术语定义表术语缩略表示英文全称解释说明1.4 参考资料[列出有关的参考资料。
]A.本项目经核准的计划任务书或合同或相关批文;B.属于本项目的其他已发表的文件;C.本文件中各处引用的文件资料,包括所要用到的软件开发标准;列出这些文件的标题、文件编号、发表日期和出版单位,说明能够取得这些文件的来源。
表1.2 参考资料表标题文件号发布日期出版单位来源(存放地)2概述2.1 数据库环境描述数据库运行的硬件环境和软件环境,例如:1.数据库系统:2.主机环境:3.操作系统:2.2 命名规则参见公司相关《代码编写规范》的“命名规范”部分。
数据库设计文档1.引言数据库设计文档旨在详细说明数据库的设计和实现过程,包括数据库的结构、数据表的定义、关系模式、索引、触发器等内容。
本文档将介绍一个假想的电子商务平台的数据库设计,以展示在实际项目中如何进行数据库的设计。
2.数据库目标本数据库旨在支持一个电子商务平台,提供商品管理、用户管理、订单管理等核心功能。
数据库的设计目标包括:高效的数据存储和检索、数据的一致性和完整性、良好的扩展性和可维护性。
3.数据库结构本数据库采用关系型数据模型,具体结构如下:- 商品表 (Products):存储商品的基本信息,包括商品编号、名称、价格、库存等。
- 订单表 (Orders):存储订单的基本信息,包括订单编号、用户编号、商品编号、数量、总价等。
4.数据表定义4.1 商品表 (Products)- 商品编号 (ProductID):主键,自增整数类型。
- 商品名称 (ProductName):字符串类型,最大长度为50。
- 商品价格 (ProductPrice):浮点数类型。
- 商品库存 (ProductStock):整数类型。
4.2 用户表 (Users)- 用户编号 (UserID):主键,自增整数类型。
- 用户名 (Username):字符串类型,最大长度为50。
- 用户密码 (Password):字符串类型,最大长度为50。
4.3 订单表 (Orders)- 订单编号 (OrderID):主键,自增整数类型。
- 用户编号 (UserID):外键,关联用户表的用户编号。
- 商品编号 (ProductID):外键,关联商品表的商品编号。
- 商品数量 (Quantity):整数类型。
- 订单总价 (TotalPrice):浮点数类型。
4.4 地址表 (Addresses)- 地址编号 (AddressID):主键,自增整数类型。
- 用户编号 (UserID):外键,关联用户表的用户编号。
- 配送地址 (Address):字符串类型,最大长度为200。
数据库设计说明书XXX项目2019XX年XX月XX日变更记录目录1. 文档简介 (1)1.1. 目的 (1)1.2. 范围 (1)1.3. 读者对象 (1)1.4. 名词解释 (1)1.5. 参考文档 (1)2. 数据库环境说明 (1)2.1. 数据库系统 (2)2.2. 设计工具 (2)2.3. 数据库配置 (2)3. 数据库命名规则 (2)4. 逻辑设计 (2)5. 物理设计 (2)5.1. 数据表汇总 (3)5.2. 数据表结构 (3)5.2.1. 业务数据表 (3)5.2.2. 空间数据表 (3)6. 安全性设计 (3)6.1. 用户账号密码的加密方法 (3)6.2. 数据库用户角色与权限分配 (4)6.3. 其它安全性设计 (4)7. 数据备份与恢复 (4)7.1. 数据库备份机制 (4)7.2. 数据库恢复机制 (4)1. 文档简介正文1.1. 目的[说明文档的编写目的]正文1.2. 范围[说明文档的主要内容,使用范围]正文1.3. 读者对象[说明本文档的读者对象,例如:项目组的成员、质量保证人员。
]正文1.4. 名词解释1.5. 参考文档2. 数据库环境说明[描述数据库的软件及版本信息,设计工具及版本信息、数据库配置信息]正文2.1. 数据库系统[采用的数据库管理系统及版本]正文2.2. 设计工具[数据库的设计工具及版本,例如Power Designer 15]正文2.3. 数据库配置[数据库的配置信息,主要是安装过程中参数配置]正文3. 数据库命名规则[本系统数据库的命名规则如下:表名分为两个部分,XXX_YYYY。
其中“_”之前的部分为该表所属的业务模块的缩写。
如PI表示事件模块,SE表示水土流失模块,CP表示阴保模块,GPS表示巡检模块,PRI表示权限模块,WORK表示工作管理模块,SYS表示公用管理模块,OS为工作流引擎模块。
“_”之后的部分为具体表名,表名尽量用英文全称,如果要使用缩写,必须是公认的缩写方式。
数据库设计文档模板数据库设计文档模板1. 引言1.1 目的在本数据库设计文档中,旨在对某个特定的应用程序或系统的数据库进行详细的设计和规划,以确保数据库能够有效地支持应用程序或系统的需求。
1.2 范围本文档覆盖了数据库设计的各个方面,包括数据模型、表结构、数据类型、索引、约束、存储过程、触发器、视图等。
1.3 定义、缩略语和缩写词在本文档中,我们使用了一些定义、缩略语和缩写词。
如有需要,请参考附录中的词汇表进行解释。
2. 数据模型2.1 概述描述了应用程序或系统的数据模型,包括实体关系图(ER图)和关系模式图。
2.2 实体关系图绘制应用程序或系统的实体关系图,用于表示实体(包括表)之间的关系,包括一对一、一对多和多对多关系。
2.3 关系模式图绘制应用程序或系统的关系模式图,用于表示表之间的关系、属性和主键。
3. 数据库设计3.1 表结构设计根据应用程序或系统的需求,设计了适当的表结构和关系。
对于每个表,包括表名、列名、数据类型、长度、默认值、是否为空等信息。
3.2 数据类型列出了在数据库中使用的数据类型和其含义。
3.3 索引设计根据应用程序或系统的查询需求,设计了适当的索引,以提高查询性能。
包括索引的名称、列名、是否唯一等信息。
3.4 约束设计根据应用程序或系统的逻辑需求,设计了适当的约束来保持数据的完整性。
包括主键、唯一键、外键、检查约束等。
4. 存储过程和触发器设计4.1 存储过程设计根据应用程序或系统的需求,设计了适当的存储过程,用于实现复杂的业务逻辑。
4.2 触发器设计根据应用程序或系统的需求,设计了适当的触发器,用于在数据发生变化时触发相应的操作。
5. 视图设计根据应用程序或系统的需求,设计了适当的视图,提供了数据的不同角度和层次的展示。
6. 数据库安全设计根据应用程序或系统的安全需求,设计了合适的用户权限、角色权限和访问控制策略,以保护数据库的安全性。
7. 性能优化7.1 查询优化分析了应用程序或系统的查询需求,并提供了一些优化技巧和建议,以提高查询性能。
数据库设计示例文档(完整)物理数据库设计数据库设计示例文档(完整)物理数据库设计D2小组网上培训系统物理数据库设计陈俊华、董磊、陈俊娜、董昊、海霞、郭云龙1(针对选定的DBMS,生成基表由于本系统主要架构在windows操作系统之上,加之本小组成员对SQLServer 比较熟悉,且系统有并发操作的要求,因此决定采用SQLServer2000 DBMS系统。
2(选择合适的文件组织(Heap, Hash, ISAM, B+ Tree, Clustered) 基于在System’s Specification中对系统性能的要求:1)非峰值时,数据查找、更新、存储的平均时间低于1秒2)在峰值时,数据查找、更新、存储的平均时间低于5秒采用SQL Server 2000默认的文件组织结构3(选择建立适当的索引基于在System’s Specification中对事务处理的分析:1)学生情况检索每天50次2)教师情况检索每天10次3)课程检索每天100次4)常见问题检索每天200次5)资料查询每天200次6)试题检索每天50次7)成绩查询每天50次在SQL Server 2000里,在数据库关系图中为表定义一个主键将自动创建主键索引;由于要频繁查询学生姓名、教师姓名、课程名称、题目、成绩,因此在各表的对应列上创建第二索引。
4(定义全局约束根据需求分析,本网上培训系统不允许同一名学生在一个学期中选课超过6 门以上。
5(定义视图用户视图主要是学生视图和教师视图。
6(定义用户访问控制规则用户在进入系统之前必须提交相应的用户名和口令,系统将根据不同的用户而授予不同的权限。
以下是建表语句:1)学生表create table student(StudentID Int(15) not null identity(1,1), StudentName Varchar(20) not null,StudentPassword Varchar(10) not null,StudentStatus Char(1) not null,StudentSex Char(1) not null,EnrollingDate Datetime not null,E-mail Varchar(30),Constraint pk_student primary key clustered(StudentID) )索引:create index student_StudentName on student(StudentName)2)教师表create table teacher (TeacherID Int(15) not null identity(1,1), TeacherName Varchar(20) not null,TeacherPassword Varchar(10) not null,TeacherState Char(1) not null,TeacherSex Char(1) not null,TelNO Int(12),E-mail Varchar(30),Constraint pk_teacher primary key clustered(TeacherID) )索引:create index teacher_TeacherName on teacher(T eacherName)3)课程表create table course (CourseID Int not null identidy(1,1), CourseName Varchar(100) not null,MajorID Int,CourseType Int,CourseCreated Datetime not null,CourseStart Datetime not null,CourseEnd Datetime not null,CourseTime Int not null,CourseScore Int not null,CourseState Char(1) not null,CourseIntro Text,Constraint pk_course primary key clustered(Course_ID) )索引:create index course_CourseName on course(CourseName)4)课堂表create table Classroom (SerialNo Int not null identity(1,1), ClassBegin Datetime,ClassEnd Datetime,onlineBegin Datetime not null, onlineEnd Datetime,Constraint pk_course primary key clustered(SerialNo) )5)申请课程表create table application (ApplyID Int not null identity(1,1), StudentID Int not null, ApplyDate Int not null, CourseID Datetime not null, ApplyType Char(1) not null, ApplyState Char(1) not null, ApplyContent Varchar(200), Constraint pk_course primary key clustered(ApplyID), Constraint ApplicationCourseT ooMuch CHECK(NOT EXISTS(SELECT StudentIDFROM applicationGROUP BY StudentIDHAVING COUNT(*)>6))FOREIGN KEY (StudentID) REFERENCES Student (StudentID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (CourseID) REFERENCES Course (CourseID)ON UPDATE CASCADE ON DELETE NO ACTION )6)课程学生表create table courseStudent (CourseID Int not null, StudentID Int not null, SerialNo Int not null, StudentType Char(1) not null, StudentScore Number(3), StudentGrade Number(3),StudentResult Number(3)Constraint pk_courseStudent primary key clustered(CourseID, StudentID,SerialNo),FOREIGN KEY (CourseID) REFERENCES Course (CourseID)ON UPDATE CASCADE ON DELETE NO ACTION,FOREIGN KEY (StudentID) REFERENCES Student (StudentID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (SerialNo) REFERENCES Classroom (SerialNo)ON UPDATE CASCADE ON DELETE NO ACTION )7)课程教师表create table courseTeacher (CourseID Int not null,TeacherID Int not null,SerialNo Int not null,StartDate Datetime,EndDate Datetime,TeacherState Datetime not null,Constraint pk_courseT eacher primary key clustered(CourseID, TeacherID,SerialNo),FOREIGN KEY (CourseID) REFERENCES Course (CourseID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (TeacherID) REFERENCES Teacher (TeacherID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (SerialNo) REFERENCES Classroom(SerialNo)ON UPDATE CASCADE ON DELETE NO ACTION )8)测试表create table test (TestID Int not null,TestName Varchar(100) not null,CourseID Int not null,TestDate Datetime not null,TestTime Int not null default 0, TestType Int not null,TeacherID Int,TestState Char(1) not null,PaperID Int not null,Constraint pk_test primary key clustered(TestID), FOREIGN KEY (CourseID) REFERENCES Course (CourseID)ON UPDATE CASCADE ON DELETE SET NULL )9)试卷表create table testPaper (PaperID Int not null default0 identity(1,1),TestID Int not null,SubjectID Int not null,ObjectAnwser Varchar(255) not null,SubjectAnswer Text,SubjectScore number(3) not null default 0 Constraint pk_testPaper primary key clustered (PaperID), FOREIGN KEY (TestID) REFERENCES Test (TestID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (SubjectID) REFERENCES Subject (SubjectID)ON UPDATE CASCADE ON DELETE NO ACTION )索引:create index testPaper_SubjectID on testPaper (SubjectID)10)测试学生表create table testStudent (Student_ID Int not null,Paper_ID Int not null,Constraint pk_testStudent primary key clustered (StudentID, PaperID) FOREIGN KEY (StudentID) REFERENCES Student (StudentID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (PaperID) REFERENCES TestPaper (PaperID)ON UPDATE CASCADE ON DELETE NO ACTION, )11)测试结果表create table testResult (TestID Int not null,StudentID Int not null,CourseID Int not null,TestDone Char(1) not null,ObjectScore Number(4) not null,SubjectScore Number(4) not null default 0, TestScore Number(4) not null default 0, TestMemo Char(1) not null, Constraint pk_testResult primary key clustered (TestID, StudentID, CourseID),FOREIGN KEY (TestID) REFERENCES Test (TestID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (StudentID) REFERENCES Student (StudentID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGNKEY (CourseID) REFERENCES Course (CourseID)ON UPDATE CASCADE ON DELETE NO ACTION, )索引:create index testResult_TestScore on testResult(T estScore)12)题库表create table subject (SubjectID Int not null identity(1,1), SubjectType Char(1) not null, SubjectLever Int not null,SubjectContents Varchar(255) not null,SubjectAnswer Text,ObjectAnwser Varchar(255) not null,Constraint pk_subject primary key clustered (SubjectID) )13)练习表create table exercise (ExerciseID Int not null identity(1,1), StudentID Int not null,SubjectID Int not null,TeacherID Int,HandinTime Datetime not null,JudgeState Char(1) not null,JudgeTime Datetime,Grade Int,StudentAnswer Text not null,Constraint pk_exercise primary key clustered (ExerciseID), FOREIGN KEY (StudentID) REFERENCES Student (StudentID) ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (SubjectID) REFERENCES Subject (SubjectID)ON UPDATE CASCADE ON DELETE NO ACTION, FOREIGN KEY (TeacherID) REFERENCES Teacher (TeacherID)ON UPDATE CASCADE ON DELETE NO ACTION, )。
XXX人资信息管理系统数据库设计文档1 文档介绍1.1编写目的作为软件设计文档的重要组成部分,本文档主要对该软件后台数据库的概念模型设计和物理模型设计作出了统一的规定,同时确定了每个表的数据字典结构。
它是开发人员,测试人员编码及测试的重要参考依据。
1.2适用范围本概要设计文档提供给系统设计开发人员,包括详细设计人员和项目组成员,不得提供给公司外人员。
1.3 读者对象本文档的主要读者包括:1. 本系统的设计人员:包括模块设计人员2. 本系统的系统开发人员:包括数据库开发、编码人员3. 本系统的测试人员1.4 参考文献主要为人资信息管理系统.ppt、人资信息管理系统需求分析与概要设计。
2 数据库环境说明数据库采用Micrsoft SQL Server数据库管理系统建立并维护。
数据库设计过程中采用Micrsoft公司的Visio创建进销存数据库的ER图,并生成数据库脚本文件“数据库设计.DDL”。
其中SQL Server的登录模式为混和身份验证,超级用户的用户名均为sa,密码为:123456,SQL Server服务器的端口号:1433。
3 数据库的命名规则符合3个范式:☑主键外键关系、表间关系、表中字段是不可再分的属性。
☑表的表示:描述单一信息,功能简单实用、命名规范合理。
☑字段的类型,长度。
☑数据库的命名:采用全部大写形式。
如:人资管理系统,数据库名称为RSHGL(人事管理)。
☑数据库表命名:所有表以RSH_开头,后面跟中文拼音缩写,采用全部大写形式。
如:职工基本信息表数据库名称为RSH_ZHGJBXX4逻辑设计本系统的数据库按照面向对象的思想,设计对应实体类,由实体类生成对应的数据库表,数据表中的关系,反应了对象间的关系5数据库的实施本系统基于SQL Server 2008 R2,数据库的名称为:DB_OA,由SendMessage、ReadMessage、Role、RolePrivilege、Privilege、User、RecordBackUp、Plan、Company共10个数据表组成。
第1章数据库设计系统按照XXX企业协同办公系统的统一规划,运行在XXX企业协同办公网站的统一数据库中,采用了数据库的热备份技术,实现数据的有效和安全。
1.1概念结构设计1.1.1实体和属性的定义(1)公共模块员工信息(用户登录名、真实姓名、密码、公司邮箱、其他邮箱、MSN、QQ、手机、固定电话、所属部门、职位、角色),如图1.1所示。
职位(职位标识、职位名称),如图1.2所示。
员工信息登录名真实姓名固定电话密码公司邮箱其他邮箱MSN学位手机职位所属部门QQ角色职位职位标识 职位名称图1.1 员工信息实体图1.2 员工信息实体(以下实体没加图题,实际文档必须要有图题)部门(部门标识、部门名称)学历(学历标识、学历名称)意见与建议(提出人、提出时间、意见与建议主题、内容、附件)网站更新新闻(添加人、添加时间、新闻标题、更新时间)附件(所属位置、文件名、文件路径、上传时间)网站更新新闻 添加时间新闻标题添加人更新时间意见与建议 提出时间内容提出人附件主题学历学历标识 学历名称部门部门标识 部门名称(2)消息面板模块公告栏信息(公告标题、公告内容、公告发表人、发表时间、紧急状态)公告状态(状态标识、状态名称) 其中属性约束如下: 状态名称:普通,重要,紧急站内短信(发送人、接收人、留言标题、内容、发送时间、是否回复、是否读取、是否公开、消息状态、是否被发送者删除、是否被接收者删除)其中属性约束如下:是否回复:0=未回复,1=已回复;是否读取:0=未读,1=已读;是否公开:0=不公开,1=公开; 消息状态:普通,重要,紧急,重要紧急;是否被发送者(接收者)删除:0=否,1=是附件文件名称文件路径所属位置上传时间公告状态状态名称 状态标识公告信息 公告内容发表时间公告标题紧急状态发表人(3)事务管理模块事务(事务具体信息、事务提交人、事务处理人、事务计划开始时间、事务计划结束时间、事务添加时间、事务类型、事务原由、备注)事务信息(事务名、事务内容、添加时间、事务状态、重要性)站内短信发送人接收人留言内容消息状态发送时间是否回复是否公开留言标题是否读取是否被发送者删除是否被接收者删除事务事务类型事务信息事务处理事务原由计划开始时间计划结束时间备注信息事务提交人添加时间事务状态(事务名称、事务状态标志位)跟踪信息(对应事务、跟踪内容、跟踪时间、跟踪人、实际开始时间、实际结束时间、状态、结果描述、事务详细信息、备注)(4)计划管理模块目标(目标标题、目标制定人、接收人、要求结束时间、具体内容、附件、发起时间)计划(计划标题、目标标题、计划人、上级接收人、计划安排详细内容、计划开始时间、计划跟踪信息对应事务跟踪内容跟踪人事务详细信息实际开始时间实际结束时间跟踪时间备注结果描述 目标具体内容目标标题目标接收人发起时间要求结束时间附件目标制定人事务状态状态名称 状态标志位事务信息 事务状态 事务名添加时间事务重要事务内容结束时间、附件、计划状态、计划制定时间)计划状态(状态标识、状态名称) 其中属性约束如下:状态名称:初稿、审批中、批准、分配中、执行中周报(计划标题、报告人、接收人、针对计划的完成百分比、针对目标的累计完成百分比、报告内容、额外性工作、需要支持、风险和问题、下一个计划期、周报发送时间)(5)客户跟踪模块客户信息(客户名称、客户地址、客户电话、客户传真、客户邮箱、客户法定代表、客户被添加时间、客户被添加的用户、联系人、联系人职务、联系方式、公司地区、最后修改人、最后修改时间、经营范围、备注、客户性质)其中属性约束如下:客户性质:1=客户,2=渠道,3=客户和渠道周报报告内容计划标题接收人额外性工作针对计划的完成百分比针对目标的累计完成百分比报告人风险问题需要支持下个计划期发送时间计划状态状态标识 状态名称计划详细内容计划标题计划人计划开始时间上级接收人计划结束时间目标标题附件计划状态制定时间沟通信息(沟通名、沟通内容、时间、方式、沟通用户、沟通客户、客户方沟通人、备注)沟通方式(沟通方式名称、沟通方式标志位)项目状态(状态标识、状态名称)沟通方式标志位 方式名称沟通信息沟通名沟通内容沟通方式客户方沟通人沟通用户沟通客户沟通时间备注客户信息客户地址客户电话客户邮箱客户名称客户法定代表被添加时间客户传真被用户添加联系人联系人职务公司地区联系方式最后修改人客户性质 经营范围备注文件信息(文件所属、文件对应模块、文件原名、文件服务器名、上传时间、文件上传人、文件地址、备注)其中属性约束如下:文件所属于:1=沟通2=事务 3=跟踪客户跟踪权限(用户、是否管理员、是否高层领导) 其中属性约束如下:是否管理员:0=否,1=是; 是否高层:0=否,1=是(6)会议管理会议信息(会议时间、会议地点、会议标题、会议回复状态、会议参加人员、不参加理由、回复时间、回复状态的修改人、会议议程、会议时长)其中属性约束如下:会议回复状态:0=未回复,1=参加,2=不参加,3=不确定权限 是否管理员 是否高层对应用户文件信息文件所属文件原名上传时间文件对应模块文件上传人文件地址文件服务器名备注项目状态状态标识 状态名称会议记录(对应会议、主持人、发布时间、参加人员、会议小结、会议小结状态) 其中属性约束如下: 会议小结状态:0=无,1=有(7)人力资源模块请假申请(请假申请人、请假审批人、请假主题、请假形式、请假类型、请假开始时间、请假结束时间、请假总共时间、请假内容、请假申请时间、审批状态)其中属性约束如下:请假形式:0=事前请假,1=事后请假; 审批状态:0=未回复,1=不通过,2=通过会议记录 参加人员会议小结发布时间会议小结状态主持人对应会议会议信息会议地点会议标题参加人员会议时间不参加理由回复时间会议回复状态状态修改人会议议程 会议时长请假类型(类型标识符、类型名称)请假审批(对应请假申请、是否查阅、审批时间、审批意见、审批结果) 其中属性约束如下:是否查阅:0=未读,1=已读; 审批结果:0=未审批,1=未通过,2=已通过(8)权限模块角色(角色标识符、角色名称)操作(操作标识符、操作名称、备注)角色角色标识 角色名称请假审批 是否查阅审批意见对应申请审批结果审批时间请假类型类型标识 类型名称请假申请审批人请假主题开始时间申请人结束时间总共时间请假类型审批状态申请时间 请假内容(9)网站统计访客记录(访客对应用户、访客IP 地址、访客登录时间、离开时间、IP 对应物理地址)访客足迹(访客对应用户、之前页面UI 、当前页面UI 、本页面进入时间、本页面退出时间)访客足迹 前页面UI进入时间对应用户离开时间当前UI访客记录 IP 地址离开时间对应用户对于物理地址登录时间操作操作标识操作名称备注1.1.2 局部ER 模式设计员工局部E-R 图:意见与建议局部E-R 图:意见与建议 提出时间内容附件主题提出人员工信息1N员工信息登录名真实姓名固定电话密码公司邮箱其他邮箱MSN手机QQ职位职位标识职位名称职位 部门部门标识部门名称学历 学历学历标识 学历名称职位111111站内短信局部E-R 图:站内短信留言内容消息状态发送时间是否回复是否公开留言标题是否读取是否被发送者删除是否被接收者删除接收人员工信息发送人1n11公告信息公告内容发表时间公告标题紧急状态发表人员工信息 1 n目标局部E-R 图:目标具体内容目标标题发起时间要求结束时间附件制定人员工信息 接收人1 11N事务事务类型事务原由计划开始时间计划结束时间备注信息添加时间提出人员工信息处理人事务信息事务名添加时间 事务重要事务内容事务信息事务状态状态名称状态标志位事务状态11n 111 11计划局部E-R 图:计划详细内容计划标题计划开始时间计划结束时间目标标题附件制定时间计划人 员工信息 接收人计划状态 状态标识状态名称计划状态11n 111跟踪信息局部E-R 图:跟踪信息跟踪内容事务详细信息实际开始时间实际结束时间跟踪时间备注结果描述跟踪客户客户信息跟踪人员工信息1111客户信息客户地址客户电话客户邮箱客户名称客户法定代表被添加时间客户传真联系人联系人职务公司地区联系方式最后修改人客户性质 经营范围备注添加客户员工信息 11会议信息局部E-R 图:会议信息 会议地点会议标题会议时间不参加理由回复时间会议回复状态会议议程会议时长参加会议员工信息1N状态修改员工信息11沟通信息沟通名沟通内容沟通方式客户方沟通人沟通时间备注跟踪客户客户信息 N1 沟通人员工信息 11沟通方式标志位方式名称沟通方式11请假申请请假主题开始时间结束时间 总共时间审批状态 申请时间请假内容审批人员工信息11请假人11请假类型类型标识类型名称请假人1 1请假审批是否查阅审批意见对应申请审批结果 审批时间审批11访客足迹前页面UI进入时间离开时间当前UI员工信息 1访客信息 1 访客记录 IP 地址离开时间对于物理地址登录时间访客信息111.1.3 全局ER 模式设计员工信息职位部门 学历学历 所属职位 所在部门 角色角色 权限 操作 拥有 对应 站内短信 接收人发送人公告状态 公告信息 状态 发布人事务 事务信息 跟踪信息状态 事务状态 具体跟踪目标计划计划状态 周报 状态制定 反馈反馈人制定人处理人制定人客户信息 沟通信息 沟通方式项目状态 合作项目信息状态方式 沟通 会议信息会议记录小结 请假申请请假审批请假类型类型 审批审批请假员工信息主持参加1 1 11 1 mn 11 1 1 1n11n1n n 111 1n nm11 1 1n 11nmn11 1n 1 1n11 1 111 11 nn11 nnm1 n11 访客足迹意见与建议网站更新新闻访客作者员工信息 提交人n 1n n 111.2逻辑结构设计1.2.1模式员工信息表记录员工登陆账号和联系方式等基本信息,如表1.1所示。
该数据库中包含了:图书信息表ebook、图书类别表folder、借阅记录表booklog、借阅信息表 bookuser和管理员表Manager。
(1)图书信息表ebook
图书信息表ebook用来保存图书的基本信息,结构如表1-1所示:
(2)图书类别表folder
图书类别表folder用来保存图书类别的信息,结构如表1-2所示:
表1-2 图书类别表folder
(3) 借阅记录表booklog
借阅记录表booklog用来保存借阅记录的基本信息,结构如表1-3如示:
表1-3 借阅记录表booklog
(4) 借阅信息表 bookuser
借阅信息表 bookuser用来记录借阅的基本信息,结构如表1-4如示:
表1-4 借阅信息表bookuser
(5) 管理员表Manager
管理员表Manager用来保存管理员的基本信息,结构如表1-5如示:
表1-5 管理员表Manager。
空间数据库设计说明书一.引言(一)编写目的:本文档旨在详细描述学生就业管理信息系统中的数据库结构与设计。
本文的读者可为学生就业管理信息系统的开发者,也可以是学生就业管理信息系统的维护都。
(二)项目背景:当前网站信息建设进程中,各种各样的应用系统相互独立,用户在每套应用中都有独立的一套账号,这造成了用户在带来了一定的不便利,也不便于网站用户信息资源共享。
为解决上述问题而开发的一套单点登录(Single Sign On)系统,需要一套底层数据库的支持。
本文旨在对单点登录系统所使用的数据库进行详细阐述。
(三)定义:CDM:Conceptual Data Model,概念数据模型PDM:Physical Data Model,物理数据模型(三)参考资料:本项目的《用户需求分析报告》;用户提供的《工作设想》;本项目相关的其他参考资料。
二.外部设计(一)标识符和状态:本数据库的表中的字段均不加前缀(二)使用它的程序:学生就业管理信息系统(三)约定:所有数据表第一个字段都是系统内部使用主键列,自增字段,不可空,名称为:id,确保不把此字段暴露给最终用户;用户实体与应用系统的对应关系的主键以int自增为主键类型。
(四)专门指导:请注意:MySQL 中date的默认值为0000-00-00,这与.NET 的数据类型不匹配,请确保在存储date 字段时给出一个合法的初始值。
(五)支持软件:本数据库支持Microsoft Sql Server 2000三.结构设计(一)概念结构设计:1、实体和属性的定义1.1用户1.2信息2、E-R图中所体现的关系:用户—信息:一个用户一次可以发布和查询多条不同的信息,而一条信息也可以被多个不同的用户所查询。
操作员—信息:一个操作员可以增加、删除多条信息,一条信息只能被一个操作员增加或删除;一个操作员可以查询多条信息,一条信息可以被多个操作员查询。
3、全局ER模式的优化在得到全局ER模式后,为了提高数据库系统的效率,还应进一步依据处理需求对ER模式进行优化。
1.需求分析1.1 需求描述1. 作品展示主要对外展示作品,匿名用户将自己的作品上传至该网,后台管理员就可以接受到这一作品信息,然后管理员择优根据作品的优秀程度选择是否将其展示至该页面.2. 作品投票主要是对外进行投票,只要是匿名用户,根据自己本身的ip作为通行证标准,即可以拥有投票资格,一个ip只能投一次票.并且系统自动统计作品的满意度.3. 作品上传主要是通过作品上传页面,用户将自己满意的作品进行上传到服务器,管理员进行审核的一个过程,该过程中,用户可以多次将作品上传.4. 论坛交流,本论坛主要是使用了两种用户,一种则是匿名用户,一种则是已在网注册的注册用户,匿名用户的权限就只能通过自己对这些帖子进行浏览没有发布和回帖的权限,在网注册用户,则可以根据论坛的规则进行发帖和回帖,并且在网注册用户不定期的可以收到管理员发出的请求用户补充自己注册信息的E-mail.1.2 功能需求本系统包括作品展示,论坛交流,作品投票,作品上传等四个大部分.主要以作品展示为重点.2.概念结构设计2.1 局部E-R图的设计1)论坛帖子管理E-R图根帖E-R图回复贴实体E-R图版面实体E-R图3.逻辑结构设计根据E-R图中的实体及实体之间的联系,关系模式如下:● 图片展示信息(编号,标题,作者,来源,图片,时间,创意内容)●手绘信息展示(编号,标题,内容,作者,编辑者,来源,时间,置顶,作品图像)●通知信息(编号,标题,内容,作者,编辑者,来源,时间)●作品上传(编号,标题,图片路径,作者,类型,QQ,评价,时间)●用户信息(编号,用户名,密码,密码提示问题,密码提示答案,用户名昵称,用户头像)●投票—信息(编号,投票编号,投票IP,时间)●投票—统计(编号,投票编号,投票名,投票总和,作者)●论坛帖子—类别(编号,作品类别)●论坛帖子表(编号,标题,时间,作者,回复数)●论坛帖子表—跟帖(编号,帖子编号,类别,编号,标题,内容,时间,开帖人,跟帖数)4.数据库实施4.1 关系表将前面得到的关系模式转换为SQL Server2000支持的具体关系表如下:Tb_logoimg(logo展示表)Tb_no1(手绘表)Tb_tongzhi(最新通知表)Tb_upload(作品上传表)Tb_userlogin(管理员表)Tb_forum_user(用户信息表)ipVotes (投票信息表)Voteitems(投票统计表)Tb_forum_style(论坛帖子类别)Tb_forums(论坛帖子表)Tb_sub_forums(论坛帖子表)4.2 数据库实施代码4.2.1 创建数据库建库:CREATE DATABASE [8Moon] ON PRIMARY(NAME= N'MyDatas',FILENAME= N'D:\数据库\8Moon.mdf',SIZE= 3072KB , MAXSIZE= UNLIMITED,FILEGROWTH= 1024KB )LOG ON(NAME= N'MyDatas_log',FILENAME= N'D:\数据库\8Moon_log.ldf',SIZE= 1024KB ,MAXSIZE= 2048GB ,FILEGROWTH= 10%)GOEXEC dbo.sp_dbcmptlevel @dbname=N'8Moon', @new_cmptlevel=90GOTb_logoimg(logo展示表)USE 8MoonGOCREATE TABLE [dbo].[tb_logoimg]([id] [decimal](18, 0)NOT NULL,[title] [varchar](50)NULL,[author] [varchar](50)NULL,[source] [varchar](50)NULL,[img] [varchar](200)NULL,[date] [datetime] NULL,[chuangyi] [varchar](max)NULL)ON [PRIMARY]GOTb_no1(手绘表)USE 8MoonGOCREATE TABLE [dbo].[tb_no1]([id] [decimal](18, 0)NOT NULL,[title] [varchar](50)NULL,[contents] [varchar](max)NULL,[author] [varchar](30)NULL,[editer] [varchar](20)NULL,[source] [varchar](100)NULL,[dates] [datetime] NULL,[istop] [int] NULL,[user_picture] [varchar](100)NULL)ON [PRIMARY]GOTb_tongzhi(最新通知表)USE [8Moon]GOCREATE TABLE [dbo].[tb_tongzhi]([id] [decimal](18, 0)NOT NULL,[title] [varchar](50)NULL,[contents] [varchar](max)NULL,[author] [varchar](30)NULL,[editer] [varchar](20)NULL,[source] [varchar](100)NULL,[dates] [datetime] NULL)ON [PRIMARY]GOTb_upload(作品上传表)USE [8Moon]GOCREATE TABLE [dbo].[tb_upload]([id] [decimal](18, 0)IDENTITY(1,1)NOT NULL, [worktitle] [varchar](50)NULL,[imgway] [varchar](100)NULL,[author] [varchar](50)NULL,[worktype] [varchar](50)NULL,[qq] [varchar](15)NULL,[present] [varchar](max)NULL,[date] [datetime] NULL)ON [PRIMARY]GOTb_userlogin(管理员表)USE [8Moon]GOCREATE TABLE [dbo].[tb_userlogin]( [id] [decimal](18, 0)NOT NULL,[userid] [varchar](20)NULL,[userpwd] [varchar](20)NULL)ON [PRIMARY]GOTb_forum_user(用户信息表)USE [8Moon]GOCREATE TABLE [dbo].[tb_forum_user]( [id] [decimal](18, 0)NOT NULL,[users] [varchar](50)NULL,[psd] [varchar](20)NULL,[psd_tswt] [varchar](20)NULL,[psd_tswtda] [varchar](50)NULL,[users_nc] [varchar](20)NULL,[user_picture] [varchar](100)NULL )ON [PRIMARY]GOipVotes (投票信息表)USE [8Moon]GOCREATE TABLE [dbo].[IpVotes]([id] [int] NOT NULL,[ItemID] [varchar](50)NULL,[ItemIPs] [varchar](50)NULL,[VoteDates] [datetime] NULL,CONSTRAINT [PK_IpVotes] PRIMARY KEY CLUSTERED([id] ASC)WITH(PAD_INDEX =OFF, STATISTICS_NORECOMPUTE =OFF, IGNORE_DUP_KEY =OFF, ALLOW_ROW_LOCKS =ON, ALLOW_PAGE_LOCKS =ON)ON [PRIMARY])ON [PRIMARY]GOVoteitems(投票统计表)USE [8Moon]GOCREATE TABLE [dbo].[VoteItems]([id] [int] NOT NULL,[ItemID] [varchar](50)NULL,[ItemName] [varchar](50)NULL,[ItemCount] [int] NULL,[author] [varchar](50)NULL)ON [PRIMARY]GOTb_forum_style(论坛帖子类别)USE [8Moon]GOCREATE TABLE [dbo].[tb_forum_style]([id] [decimal](18, 0)NULL,[forum_style] [varchar](50)NULL)ON [PRIMARY]GOTb_forums(论坛帖子表)USE [8Moon]GOCREATE TABLE [dbo].[tb_forums]( [id] [decimal](18, 0)NOT NULL,[title] [varchar](100)NULL,[dates] [datetime] NULL,[authorid] [varchar](50)NULL,[hf_nums] [int] NULL,[sfhf] [int] NULL)ON [PRIMARY]GOTb_sub_forums(论坛帖子表)USE [8Moon]GOCREATE TABLE [dbo].[tb_Sub_forums]( [id] [decimal](18, 0)NOT NULL,[forumid] [decimal](18, 0)NULL,[styleid] [decimal](18, 0)NULL,[title] [varchar](50)NULL,[contents] [varchar](max)NULL, [dates] [datetime] NULL,[authorid] [int] NULL,[first_forum] [int] NULL)ON [PRIMARY]GO论坛视图View_forumSELECT dbo.tb_forums.id,dbo.tb_forums.title,dbo.tb_forum_style.forum_style,dbo.tb_Sub_forums.contents, dbo.tb_forum_ers, dbo.tb_Sub_forums.first_forum,dbo.tb_forums.hf_nums, dbo.tb_forums.dates, dbo.tb_forum_ers_ncFROM dbo.tb_forum_user INNER JOINdbo.tb_forum_style INNER JOINdbo.tb_Sub_forums INNER JOINdbo.tb_forums ON dbo.tb_Sub_forums.forumid = dbo.tb_forums.id ON dbo.tb_forum_style.id = dbo.tb_Sub_forums.styleid ON dbo.tb_forum_user.id = dbo.tb_Sub_forums.authoridWHERE (dbo.tb_Sub_forums.first_forum = 1)View_SubForumSELECT dbo.tb_Sub_forums.id, dbo.tb_Sub_forums.title, dbo.tb_Sub_forums.contents, dbo.tb_Sub_forums.dates, dbo.tb_forum_style.forum_style, dbo.tb_forum_ers,dbo.tb_forum_er_picture, dbo.tb_Sub_forums.first_forum, dbo.tb_Sub_forums.forumid, dbo.tb_forum_ers_ncFROM dbo.tb_forum_user INNER JOINdbo.tb_forum_style INNER JOINdbo.tb_Sub_forums ON dbo.tb_forum_style.id = dbo.tb_Sub_forums.styleid ON dbo.tb_forum_user.id = dbo.tb_Sub_forums.authorid。
用E-R图设计数据库(共5则范文)第一篇:用E-R图设计数据库(共)用E-R图设计数据库(概念结构设计和逻辑结构设计)用E-R图设计数据库(概念结构设计和逻辑结构设计)1.实验目的1)熟悉E-R模型的基本概念和图形的表示方法。
(概念结构设计)2)掌握将现实世界的事物转化成E-R图的基本技巧。
3)熟悉关系数据模型的基本概念。
4)掌握将E-R图转化成关系模式的基本技巧。
(逻辑结构设计)2.实验内容1)根据需求确定实体,属性和联系。
2)将实体,属性和联系转化为E-R图。
3)将E-R图转化为关系模式。
3.实验步骤和结果1)设计能够表示出班级与学生关系的数据库。
①确定班级实体和学生实体的属性。
②确定班级和学生之间的联系,给联系命名并指出联系的类型。
③确定联系本身的属性。
④画出班级与学生关系的E-R图。
⑤将E-R图转化为关系模式,写出关系模式并标明各自的主码或外码。
2)设计能够表示出顾客与商品关系的数据库。
①确定顾客实体和商品实体的属性。
②确定顾客和商品之间的联系,给联系命名并指出联系的类型。
③确定联系本身的属性。
④画出顾客与商品关系的E-R图。
⑤将E-R图转化为关系模式,写出关系模式并标明各自的主码或外码。
注意:对由E-R图转换得到的关系模式进行分析,如果不合理,进一步对它进行规范化处理,得到最终的关系表。
4.实验总结实验中遇到的问题及解决情况,通过实验,掌握了什么第二篇:数据库概念设计ER图实例数据库概念设计ER图实例例2.上海可的商业连锁集团需要建立信息系统。
该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。
数据库设计样例—校运会管理系统.项目案例(一)——校运会管理系统1需求分析1.1 编写目的使用该文档的使用成员为实现校运会管理系统的开发人员以及学校的运动会组织管理人员。
1.2 背景项目名称:校运会管理系统项目提出者:项目开发者:项目开发小组项目鉴定者:暂无。
项目开始时间:1.3 定义系统数据流程图的一些定义 1.4 目标当学校运动会管理人员使用了《校运会管理系统》软件后,可以由计算机完成:运动员报名的自动核对;比赛时各种人员信息的查询、核对、更新、删除。
校运会管理系统用户分为两类:普通操作员:只须具有初级的计算机操作能力,一般高中生以上经过稍稍培训都可胜任,只是负责比赛进行时一些简单数据的插入、更新、查询。
管理人员:这些人员应具备一定的数据库知识,不过只要了解就行,这些人员负责对数据库中重要数据及基本数据的更新,如对静态表的重新定义,普通用户的权限分配。
1.5 需求分析1.5.1系统的功能需求通过对运动会各个步骤、所需的各项信息等的分析,我们规定:(1) 项目有个人项目、集体项目之分.(2) 对于集体项目,我们并不关心具体参加比赛的运动员.在每一项集体项目中,每个学院的参赛人数不可超过限制的参赛人数,且必须是该学院的学生.(3) 一个项目可有多名运动员参加,但一名运动员最多只能参加两项个人项目(用一个触发器实现),且只能属于一个学院.(4) 一个项目可由多名裁判主持,每一个裁判在此项目中所担任的职务不同,且有主、副裁判之分.(5) 在同一时间内可同时举行多项比赛,但是只能进行一项径赛比赛(用一个触发器实现).(6) 在同一时间内,一名裁判只能主持一项比赛、担任一个职务(用一个触发器实现).但在不同的时间内,一名裁判可主持不同的项目、担任不同的职务.(7) 一名运动员在同一时间内只能参加一项比赛(用一个触发器实现).(8) 在同一时间内,一个学院只能参加一项集体项目比赛(通过用一个触发器限制在同一时间内只能举行一项集体项目).(9) 在某一项目中,只有一个主裁判,其余都为副裁判.(10) 一项个人项目可有多个同时破记录者,一名运动员同时破多项记录.一项集体项目可同时有多个破记录的学院,一个学院可同时破多项记录.1.5.2 系统总体功能图1.5.3系统流程图1.5.4 实体与数据通过对运动会各方面分析,运动会中包含的实体有学院、运动员(不包含集体项目中的运动员)、项目(集体项目和个人项目)、裁判、职务、奖励(集体项目奖励和个人项目奖励,名次为0表示破记录)、赛事类别(田赛、径赛、集体项目等).集体项目奖励和个人项目奖励不同.包含的数据项分别如下:(1) 学院编号,学院名称,上届运动会名次,历史最高名次,本次运动会总分,本次运动会名次等.(2) 运动员编号,学号,姓名,性别,所属学院,班级等.(3) 项目编号,项目名称,参赛者性别(男或女或不限)、每个学院限参赛人次,比赛时间,结束时间等.(4) 裁判编号,姓名,性别等.(5) 职务编号,职务名称(如计时员、测量员、记录员等),职务级别(主裁判和副裁判)等.(6) 名次,奖励分数,奖励物品(如奖状等),奖励金额等.(7) 赛事类别编号,赛事类别名称等.实体之间的联系有:(1) 学院与运动员之间(1:M).(2) 运动员、个人项目与个人项目奖励之间(1:M,1:1).(3) 学院、集体项目与集体项目奖励之-1.2 背景项目名称:校运会管理系统项目提出者:项目开发者:项目开发小组项目鉴定者:暂无。
数据库设计文档范文一个成功的管理系统,是由:[50% 的业务+ 50% 的软件] 所组成,而50% 的成功软件又有[25% 的数据库+ 25% 的程序] 所组成,数据库设计的好坏是一个关键。
如果把企业的数据比做生命所必需的血液,那么数据库的设计就是应用中最重要的一部分。
有关数据库设计的材料汗牛充栋,大学学位课程里也有专门的讲述。
不过,就如我们反复强调的那样,再好的老师也比不过经验的教诲。
所以我归纳历年来所走的弯路及体会,并在网上找了些对数据库设计颇有造诣的专业人士给大家传授一些设计数据库的技巧和经验。
精选了其中的60 个最佳技巧,并把这些技巧编写成了本文,为了方便索引其内容划分为5 个部分:第 1 部分- 设计数据库之前这一部分罗列了12 个基本技巧,包括命名规范和明确业务需求等。
第 2 部分- 设计数据库表总共24 个指南性技巧,涵盖表内字段设计以及应该避免的常见问题等。
第 3 部分- 选择键怎么选择键呢?这里有10 个技巧专门涉及系统生成的主键的正确用法,还有何时以及如何索引字段以获得最佳性能等。
第 4 部分- 保证数据完整性讨论如何保持数据库的清晰和健壮,如何把有害数据降低到最小程度。
第 5 部分- 各种小技巧不包括在以上4 个部分中的其他技巧,五花八门,有了它们希望你的数据库开发工作会更轻松一些。
第 1 部分- 设计数据库之前考察现有环境在设计一个新数据库时,你不但应该仔细研究业务需求而且还要考察现有的系统。
大多数数据库项目都不是从头开始建立的;通常,机构内总会存在用来满足特定需求的现有系统(可能没有实现自动计算)。
显然,现有系统并不完美,否则你就不必再建立新系统了。
但是对旧系统的研究可以让你发现一些可能会忽略的细微问题。
一般来说,考察现有系统对你绝对有好处。
定义标准的对象命名规范一定要定义数据库对象的命名规范。
对数据库表来说,从项目一开始就要确定表名是采用复数还是单数形式。
此外还要给表的别名定义简单规则(比方说,如果表名是一个单词,别名就取单词的前 4 个字母;如果表名是两个单词,就各取两个单词的前两个字母组成 4 个字母长的别名;如果表的名字由 3 个单词组成,你不妨从头两个单词中各取一个然后从最后一个单词中再取出两个字母,结果还是组成4 字母长的别名,其余依次类推)对工作用表来说,表名可以加上前缀work_ 后面附上采用该表的应用程序的名字。
XXXX 系统 数据库设计说明书
精品资料 精品资料
文档信息: 文档名称 “传输网管数据统一自动备份系统”概要设计说明书 描述 该文档描述传输网络统一自动备份系统的详细功能定义。所有设计人
员、开发人员、测试人员以及其他团队成员都应该以该文档作为产品 的功能定义,并衍生出其他文档。 负责人 谢亚龙 张亚宾 状态 1.1 版 文档变更历史: 时间 版本号 修改人 章节 描述 2008-11-7 1.0 所有章节 创建初稿
2008-12-19 1.1 部分改动 对数据中部分做了修改
文档路径: 审核结果: 审核人 审核时间 意见 签名档 备注 精品资料 目录
1 引言 ....................................................................................................................... 5 1.1 编写目的 ................................................................................................................. 6 1.2 背景 ......................................................................................................................... 6 1.3 定义 ......................................................................................................................... 6 1.4 参考资料 ................................................................................................................. 7 2 数据库物理模型 ..................................................................................................... 8 精品资料
2.1 整体设计 . ............................................................................................................ 8 2.2 角色与权限管理 .................................................................................................. 9 2.3 消息管理 . .......................................................................................................... 11 2.4 用户信息 . .......................................................................................................... 13 2.5 分站信息表 ....................................................................................................... 15 2.6 备份计划 . .......................................................................................................... 16 2.7 备份文件 . .......................................................................................................... 18
精品资料 1 引言 随着时代的进步, 计算机技术飞速发展, 电子信息技术在各行各业起着越来越重要的作用。其中, 应用最广泛的就是数据库技术。对一个企业来说, 数据的安全关系着整个企业的发展,如何更加安全的保护这些数据,是当今的一个研究热点。 为了保护数据安全和提高数据的持续可用性, 企业要从 RAID 保护、 冗余结构、数据备份、故障预警等多方面考虑。对于关键业务应用,如电信计费系统、银行营业系统等,则要 采用异地数据备份的保护措施。 应该说, 异地自动备份是数据安全性和业务连续性的最高保护级别。数据存放在一个地方总存在风险,况且人为的逻辑错误也有可能破坏数据,因而, 可以采用高性能、完善的备份系统, 将数据拷贝下来,存放到价廉的存储介质上, 这是数据 安全的基本保证。企业最常使用的备份介质包括:磁盘、光盘塔和磁带库等。同时,在系统或应用出现故障时,为了保证本地业务的不中断运行,主机集群是一个较好的方案。 现在,随着企业对数据可用性认识的加深, 关键业务不允许出现哪怕是 1% 的灾难威胁, 因而,异地数据备份已成为数据可用性解决方案的重要组成部分。 异地容灾系统提供一个远 程的应用备份现场,能有效地防止因本地毁灭性灾难(地震、火灾、水灾等)引起的数据丢 失,预防场地问题带来的数据不可用性。这些场地问题包括:电力中断、电信中断、自然灾 难和场地迁移等。 作为企业的关键业务, 任何原因造成的业务中断都将影响其经济收入, 降低市场分额,丢失客户, 甚至造成企业破产。 数据自动统一备份系统将这种 “场地 ”故障造成的数据不可用性减到最小。 当灾难发生时, 自动备份系统能保证企业数据的安全和业务的连 续性。 为了避免这种情况的发生, 传输网管自动统一备份这么一个系统就显得及其重要, 及时对重要数据的备份能把企业的损失将到最小,这也是我们这个项目的最终目标。
精品资料 1.1 编写目的 本文档的编制是为了让用户和软件开发者双方对该开发软件的初始规定有一个共同的 理解,定义所要开发的“传输网管数据统一自动备份系统”(以下简称系统)的开发目标,包 括对功能的规定和性能的要求, 指出预期的系统用户、 系统的运行环境以及对用户操作的约 定,使之成为整个项目中软件产品开发设计与实现的根据, 也是软件产品的测试和验收的依据。 本系统是为广大数据库备份者设计,能集中对数据库文件进行备份,节省大量的人力、 物力以及财力。该说明书的读者为该项目的客户以及项目开发人员。
1.2 背景 1. 本系统名称:传输网管数据统一自动备份系统; 2. 本系统的客户代表:江海老师; 本系统开发单位:数媒 07 级 x 班 x 组本系统的用户:数据库备份公司 3. 本系统的开发工具采用 Eclipse Version: 3.3.2 ,数据库为 MySql 5.0 4. 该系统同其他系统 (或机构 )的基本相互往来关系:该系统基于 IE 浏览器,版本为 6.0 及以上,支持 Windows 系列平台; 5. 本系统为 Windows 平台下 B/S 模式网络版。
1.3 定义
精品资料 定义关键词如下: 1. HTTP :Hyper Text Transfer Protocol ( 超文本传输协议) 2. HTML : Hyper Text Markup Language ( 超文本标记语言 ) 3. Web Browser :万维网浏览器 4. DateBase :数据库 5. JDBC :开放数据库连接 6. IPO : Input & Process & Output( 输入、处理、输出 ) 7. B/S :服务器 /浏览器模式 8. XML :扩展标记语言。 9. SQL :结构化查询语言。 10. P2P : Peer-to-Peer( 对等联网 ) 11. Ajax : Asynchronous JavaScript + XML (异步的 XML 和 JavaScript )
1.4 参考资料 [1] GB/T 11457 :软件工程术语 [2] GB/T 8566 — 1995 :计算机软件开发规范 [3] GB 8567 :计算机软件产品开发文件编制指南
精品资料 精品资料
2 数据库物理模型 2.1 整体设计 设计说明: 本系统由 SendMessage (发送消息数据表) 、ReadMessage (阅读消息数据表) 、Role(角色数据表) 、RolePrivilege (角色 -权限数据表) 、Privilege (权限数据表) 、User(用户信息数据表) 、Record( 日志表 )、BackUp( 数据库备份记录表 )、Plan(备份计划数据表) 、 Company (公司分站数据表)共 10 个数据表组成。 系统整个的物理模型如下图所示: 精品资料 图 2-2-1 角色与权限管理数据表 角色表 (role)
图 2-1-1 系统整体构成 2.2 角色与权限管理 设计说明: 角色与权限之间是 n 对 m 的关系。 一种角色可能有多个权限,而同一个权限可能被多个角色所拥有。数据表如下所示: