数据库设计---合适的就是最好的

数据库设计是依据用户需求设计数据库结构的过程,详细来说。数据库设计是对于给定的应用环境,在厝数据库理论的指导下,构造最优的数据库模式,在数据库管理系统上建立数据库及其应用系统,使之能有效地存储数据。满足用户的各种需求的过程。究竟数据库该怎样设计,古往今来,每一个人都有每一个人的想法,所以数据库设计并没有优劣之分,好坏之别,合适的数据库设计就是最好的。

走过自考--《数据库系统原理》,看过耿建玲老师的视频。对数据库设计有了一点了解,VB版的机房收费系统,直接用原来的脚本生成的数据库,当时对数据库设计这部分的内容也没有特别深入的研究过,欠下的债,早晚要还,我想如今是时候了,这几天。VB.Net版的机房收费系统正式开工了,才发现数据库设计是一门学问。接下来,结合机房收费系统,总结一下数据库设计。

首先,数据库设计主要包括下面六个步骤:

1、需求分析:了解用户的数据需求、处理需求、安全性及完整性要求;

2、概念设计:通过数据抽象,设计系统概念模型,一般为E-R模型;

3、逻辑结构设计:设计系统的模式和外模式,对于关系模型主要是基本表和视图;

4、物理结构设计:设计数据的存储结构和存取方法,如索引的设计。

5、系统实施:组织数据入库、编制应用程序、试执行;

6、执行维护:系统投入执行,长期的维护工作。

本文就需求分析,概念设计和逻辑结构设计展开讨论,在这里简单的说一下机房收费系统的需求。使用该系统有三个角色用户:分别为一般用户,操作员,管理员。不同的权限有着不同的权限,详细例如以下:

A、一般用户能够实现的功能是:

a、查看学生卡内剩余金额,通过卡号查询查看学生基本信息并显示剩余金额。

b、查看上机记录,通过卡号查询上机记录,姓名,上下机日期和时间,消费金额。导出Execl表格。

c、查看充值记录,通过卡号查询充值金额,充值日期,充值时间,充值教师,导出Excel表格。

d、查询学生上机状态,并能够强制管理学生进行下机操作。

e、改动password。

B、操作员指办理一定业务的人员,级别高于一般用户,除了能够实现值班员的功能外,还能够运行额外功能:

a、注冊卡号,注冊一张新卡。

        b、充值,通过卡号充值金额,显示充值卡号。上次卡内剩余金额。如今卡内剩余金额,充值日期时间以及老师。

c、退卡,将卡注销,并退还学生卡内剩余金额。

d、收取(退还)金额查询,通过输入起始日期和终止日期,查询充值金额。充值日期时间,充值教师,导出Execl表格。

e、学生基本信息维护和操作员工记录,採用组合查询。

f、学生上机统计信息查询,採用组合查询,导出Execl表格。

C、管理员能够管理系统全部信息,级别最高,除了能够处理值班员和操作员的功能外,还能够处理其它操作:

a、结账。

b、加入删除用户。加入或删除不同级别的账户。

c、基本数据设定,包括上机费用等信息。

d、查看正在值班的教师。

e、日结和周结,涉及报表。

依据上面的需求分析,设计ER模型(不是特别完整,有不同见解的小伙伴欢迎留言交流)例如以下图:

接着创建数据库和表,若要创建数据库和表,须要去顶数据库的名称,全部者。大小。以及存储该数据库的文件和文件组。在SQL Server中创建数据库主要有两种方式。一是在SQL Server Management Studio中使用向导创建数据库。二是通过查询窗体运行T-SQL语句创建数据库。以T-SQL创建数据库和表为例,实现代码例如以下:

create database mycharge  --创建mycharge数据库
go
user mycharge --转到mycharge数据库
go
create table studen --在STUDENT数据库中创建表student
(
  Sno char(10) primary key,
  Sname char (10) ,
  Ssex ,
  Sage int,
  Sdept char(10)
)

机房收费系统表例如以下:

1、学生表:卡号、学号、姓名、类型、性别、系别、年级、班级、金额、状态、备注。

2、上机表:卡号、类型、学号、姓名、系别、性别、上机日期、下机日期、上机时间、下机时间、消费时间、消费金额、剩余金额。

3、充值表:卡号、充值金额、充值时间、充值教师。

4 、用户表:username、password、身份、操作人。

5、退卡表:卡号、退款金额、退卡时间、办理退卡教师、结账状态。

6、操作员工工作记录表:序列号、教师、身份、注冊日期、注冊时间、注销日期、注销时间。

7、结账信息表:售卡张数、总售卡张数、退卡张数、应收总金额、充值金额、暂时收费金额。

8、基本数据设定信息表:固定半个小时费用、暂时半个小时费用、递增单位时间、至少上机时间、准备时间、最少金额。

9、正在值班教师信息表:记录号、教师名、身份、登陆日期、登录时间。

10、日结账信息表:上次充值卡剩余金额、当日充值金额、当日消费金额、本次充值卡金额、日期。

11、周结帐信息表:上次充值卡金额、本次充值金额、本次消费金额、本次充值卡剩余金额、日期。

初次设计数据库。存在非常多缺陷。有不允许见的小伙伴欢迎留言交流。机房收费系统个人重构版,未完待续......

时间: 2024-10-16 03:15:26

数据库设计---合适的就是最好的的相关文章

数据库设计各个阶段的任务

按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:⑴需求分析:分析用户的需求,包括数据.功能和性能需求:⑵概念结构设计:主要采用E-R模型进行设计,包括画E-R图:⑶逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换:⑷数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径:⑸数据库的实施:包括编程.测试和试运行:⑹数据库运行与维护:系统的运行与数据库的日常维护.

DBA词典:数据库设计常用词汇中英文对照表

1. Access method(访问方法):此步骤包括从文件中存储和检索记录. 2. Alias(别名):某属性的另一个名字.在SQL中,可以用别名替换表名. 3. Alternate keys(备用键,ER/关系模型):在实体/表中没有被选为主健的候选键. 4. Anomalies(异常)参见更新异常(update anomalies) 5. Application design(应用程序设计):数据库应用程序生命周期的一个阶段,包括设计用户界面以及使用和处理数据库的应用程序. 6. Att

5-2数据库设计

5-2数据库设计 tags:数据库 基本步骤 步骤: 1. 需求分析阶段 进行数据库设计首先必须准确了解与分析用户需求.需求分析是整个设计过程的基础,是最困难和最耗费时间的一步. 2. 概念结构设计阶段 概念设计是整个数据库设计的关键,它通过对用户需求进行综合.归纳与抽象,行程一个独立于具体数据库管理系统的概念模型. 在概念结构设计阶段行程独立于机器特点,独立于各个关系数据库管理系统产品的概念模式,一般用ER图表示 3. 逻辑结构设计阶段 逻辑结构设计是将概念结构转为某个数据库管理系统所支持的数

数据库设计中的一些原则

1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体. 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体. 这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处. [例1]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会关系表.工作简历表.   这就是"一张原始单证对应多个实体"的典型例子. 2.

数据库设计开发规范

1 数据库命名约定  1.1 规则 (1) 命名富有意义英文词汇,多个单词组成的,中间以下划线分割. (2) 除数据库名称长度为1-8个字符,其余为1-30个字符,dblink名称也不要超过30个字符. (3)命名只能使用英文字母,数字和下划线,字母全部小写 (4)避免使用Oracle的保留字如level.关键字如type. 1. 2系统模块 编号 名称 英文 缩写 1 系统管理 system sys 2 配置管理 dictionary dic 3 设备系统 equipment equ 4 通讯

数据库设计的几个建议

本文导读:数据库设计是信息系统设计的基础,一个好的数据库设计在满足了软件需求之外,还要易维护.易扩充等等要求,还要考虑到数据的一致性.冗余性.访问效率,数据库设计包括:库的设计,表的设计,字段的设计,主键和外键的设计,索引设计,约束设计等等,下面介绍数据库设计的几个建议 一.一般好的数据库设计需要注意以下几点 1.一个好的数据库设计首先要满足用户的需求 所有信息系统最后都将提交给最终用户使用,对于这一点,相信大家都已经达成共识.但是准确地把握用户的需求是很难的,虽然各方面的专家已经从不同方面给出

数据库设计原则(摘抄)

注:     设计数据库是实现实际业务的重要一步,合理设计表结构,规划表字段,建立合理关系为后期减少了开发,运营,维护成本.认真了解和学习设计知识是必要的,如下摘抄了部分经验总结. 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体. 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体. 这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处

(zz)数据库设计中的14个技巧

1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对 应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实 体,或多张原始单证对应一个实体.这里的实体可以理解为基本表.明确这种对应关系后,对我们设计 录入界面大有好处. [例1]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会 关系表.工作简历表.这就是“一张原始单证对应多个实体”的典型例子. 2. 主键与外键

[转]数据库设计中的常用技巧

本文介绍了数据库设计中的14个技巧,这是许多人在大量的数据库分析与设计实践中,逐步总结出来的-- 下述十四个技巧,是许多人在大量的数据库分析与设计实践中,逐步总结出来的.对于这些经验的运用,读者不能生帮硬套,死记硬背,而要消化理解,实事求是,灵活掌握.并逐步做到:在应用中发展,在发展中应用. 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个