网站系统---数据库的设计

news/2024/5/21 21:44:30/文章来源:https://blog.csdn.net/u013067756/article/details/51532149

 

 

 

                               网站系统---数据库的设计

 

 

前言:

      每一个完整或系统的的设计初衷,都是为了数据更好的管理和查询,数据库的设计也就是极其的显著和重要。下面是就以例子网上商城的数据库设计聊一聊数据库的设计了。

 


1 表与表之间视图:


                              


 

2 数据库设计:

  2.1用户表:

     * 用户ID

     * 用户名:

     * 密码:

     * 真实姓名:

     * 邮箱:

     * 地址:

    * 电话:

     * 用户状态:   0未激活  1已经激活

     * 激活码:

 

2.2 一级分类:

     * 一级分类ID

     * 一级分类名称

 

2.3 二级分类:

     * 二级分类ID:

    * 二级分类名称:

     * 一级分类ID(外键指向一级分类主键ID)

 

2.4 商品表:

     * 商品ID:

      * 商品名称:

     * 商品商城价格:

     * 商品市场价格:

     * 商品描述:

      * 商品图片:(路径)

     * 二级分类ID(外键指向二级分类主键ID)

 

2.5 订单表:

      * 订单ID

      * 订单时间:

     * 订单金额:

      * 订单状态:

     * 订单地址:

     * 订单电话:

     * 订单收货人:

    * 用户ID(外键指向用户表的主键ID)

 

2.6 订单项表:(需要参与到业务逻辑中)

      * 主键ID

      * 商品ID

     * 订单ID

      * 数量

     * 小计

 

2.7 后台用户表:

     * 用户名:

      * 密码:

 

 

 3  数据库设计注意:

     3.1  主键与外键

      一 般而言,一个实体不能既无主键又无外键。在E—R图中,处于叶子部位的实体, 可以定义主键,也可以不定义主

键(因为它无子孙),但必须要有外键(因为它有父亲)。主键与外键的设计,在全局数据库的设计中,占有重要地

位。当全局数据库的设计完成以后,有个美国数据库设计专家说:键,到处都是键,除了键之外,什么也没有,这

就是他的数据库设计经验之谈,也反映了他对信息系统核心(数据模型)的高度抽象思想。因为:主键是实体的高度

抽象,主键与外键的配对,表示实体之间的连接。

    

    3.2 完整性约束表现在三个方面

      域的完整性:用Check来实现约束,在数据库设计工具中,对字段的取值范围进行定义时,有一个Check按钮,通

过它定义字段的值城。

     

    参照完整性:用PKFK、表级触发器来实现。

   

   用户定义完整性:它是一些业务规则,用存储过程和触发器来实现。


    3.3 基本表的性质

      基本表与中间表、临时表不同,因为它具有如下四个特性:

       o  原子性。基本表中的字段是不可再分解的。

       o  原始性。基本表中的记录是原始数据(基础数据)的记录。

       o  演绎性。由基本表与代码表中的数据,可以派生出所有的输出数据。

       o  稳定性。基本表的结构是相对稳定的,表中的记录是要长期保存的。


     理解基本表的性质后,在设计数据库时,就能将基本表与中间表、临时表区分开来。

 

    3.4 遵循三个范式

       理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范

式(通俗地理解是够用的理解,并不是最科学最准确的理解):

      

       o  第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;

      

       o  第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;

      

       o  第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。


      

    

   没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必


须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守第三范式,降低范式标准的工作放到


物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。

 

                                                     

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_722780.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网站高性能 1】----机械硬盘 vs 固态硬盘

机械硬盘 vs 固态硬盘前言:今天下午小编看Mybatis视频,敲代码中真的是就快睡着了,就离开座位出去想走走,就去了图书馆,也就是随性拿起一本书《大型网站技术机构》,也即是随性的想随便的翻一翻,可…

【网站高性能 2】----RAID vs HDFS

RAID vs HDFS一,定义:RAID:全称是(Redundant Arrays of independent Disks,DAID)叫磁盘阵列:有独立磁盘构成的具有冗余能力的阵列的意思。raid通俗的说就是有很多价格较合理的磁盘,组成一个容…

【网站高性能 3】----B+树 vs LSM树

B树 vs LSM树 前言: 在前面我们介绍到,性能优化之存储性能优化有将(1)机械硬盘改成固态硬盘,(2)磁盘阵列方式RAID vs HDFS ,今天小编和大家分享一个在存储过程,从数据…

【网站高性能 4】----网站本身测试(一)

【网站高性能 4】----网站本身测试指标(一) 一个好的网站,我们总会有看起来舒服,浏览起来速度给力,这是我们最基本的评判,那么从专业的角度来说,到底有哪些指标呢? 今天小编就带你一…

【网站高性能 5】----网站本身测试(二)

【网站高性能 5】----网站本身测试(二) 前言: 一个网站好不好,从不同的人看起来是不同的。比如我现在是用户,评价一个网站好坏那就很简单,每一次的点击打开,页面反映的快慢就反应出网站的好坏&a…

【网站高性能 6】----大型网站架构演化知多少(一)

架构演化知多少(一) 前言: 在大型网站中的技术挑战主要是来自什么?主要是庞大的用户、高并发的访问和海量的数据,任何简单的业务一旦要处理数以P计的数据和数以亿计的用户,问题就会变的很棘手。那么大型网站…

【网站高性能 7】----大型网站架构演化知多少(二)

大型网站架构演化知多少(二) 前言: 在前一博文:大型网站架构演化知多少(一)中小编介绍了大型网站的架构发展历程,从初级的架构中只有一台服务器到增加服务器,再到使用缓存&am…

你不可不知的网站:stackoverflow

你不可不知道的网站:stackoverflow 序言: 这是个什么东西?” stackoverflow” 是个国外的论坛网站,计算机技术交流社区,基本上我们现在遇到的问题,在那里都可以找到相关的答案,我们中文遇到的问…

asp.net 客户 显示当前日期时间 服务器 日期时间,ASP.net网站上如何显示当前日期...

在之前的论坛文章中,我们介绍了一种通过JS调用的方式去显示网站当前日期的方法,这个方法适用于PHP,ASP网站,但对于ASP.NET的网站却无法正常的调用出当前的时间。对于ASP.NET网站,要想显示当前的时间,可以使…

服务器网站空间有大小吗,网站服务器和空间大小

网站服务器和空间大小 内容精选换一换GS_WLM_USER_RESOURCE_HISTORY系统表存储与用户使用资源相关的信息,仅在CN上有效。该系统表的每条记录都是对应时间点某用户的资源使用情况,包括:内存、CPU核数、存储空间、临时空间、算子落盘空间、逻辑…

网站漏洞扫描软件wrbscanner_【正方公司】软件安全测试工作介绍(工具篇)

点击蓝字关注我们软件安全一直以来是困扰所有用户和软件从业者的重要问题,正方软件人一直在教育软件安全方面不懈努力,不断引进各种技术手段和工具,提高产品的安全质量。在这里抛砖引玉,简要说说安全扫描工具和安全检测机制。首先…

php 契约编程,PHP契约式编程 第2页_Linux编程_Linux公社-Linux系统门户网站

契约式编程使用抽象类和接口实现契约式编程,这样编程可以使结构更清晰,扩展性高;特别适用于团队开发项目框架编写,比如可以通过定义一个数据库操作模型module,使所有需要操作数据库的module派生类都必须实现模型中的方…

网站的设计风格

这篇文章翻译至:http://www.webdesignfromscratch.com/current-style.cfm 这篇文章前几天看见Mars刊过,不过仅简单列出几个中文标题,对于广大网民来未免有些遗憾。今天终于见到来自淘宝UI团队的辛勤翻译稿,忙不择转过来&#x…

毛哥的快乐生活(26) Servlet版新闻网站之前端样式编码

工欲善其事必先利其器的VSCode 毛哥的原型图都已经画好了,第二天火急火燎的找到小范妹子,想再次目睹范妹子前端设计的风采。 这次毛哥好好瞄了一眼范妹子编码环境,果然是传说中的VSCode,写前端代码相当犀利效果那是顶呱呱。心里好一阵盘算回去自己也要入手最新的VScode用…

做网站用UTF-8还是GB2312?

经常我们打开外国网站的时候出现乱码,又或者打开很多非英语的外国网站的时候,显示的都是口口口口口的字符, WordPress程序是用的UTF-8,很多cms用的是GB2312。 ● 为什么有这么多编码? ● UTF-8和GB2312有什么区别&…

毛哥的快乐生活(28) Servlet版新闻网站之登录页实现

背景 毛哥决定先捋捋思路,每当毛哥想到【思路】这两个字,毛哥就是认真了。非常可怕,因为凡事就怕认真。凡事都怕,你怕不怕? 反正毛哥怕了,嘿,开心的怕。 实际上做到现在,核心功能也就一个Servlet,然后通过识别用户请求里面的method参数,向浏览器返回不同内容。 当…

.NET程序员必须知道的八个网站

当前全球有数百万的开发人员在使用微软的.NET技术。如果你是其中之一,或者想要成为其中之一的话,我下面将要列出的每一个站点都应该是你的最爱,都应该收藏到书签中去。 对于不熟悉.NET技术的朋友,需要说明一下,.NET提供…

JSP+MySQL校园新闻网站(2)–开发环境搭建

点此查看系列文章目录、源代码 本文目录0. 前言1. 背景2. JDK安装3. JDK环境变量配置4. Tomcat下载5. Eclipse下载6. Eclipse配置7. MySQL下载安装8. Navicat下载安装9. 总结0. 前言 系列文章目录、演示网站、源码参见:项目实战系列文章 1. 背景 上一篇讲了需求分…

JSP+MySQL校园新闻网站(3)–数据库与java项目创建

点此查看系列文章目录、源代码 本文目录0. 前言1. 新建数据库2. 新建项目3. 导入jar包4. 准备就绪0. 前言 系列文章目录、演示网站、源码参见:项目实战系列文章 1. 新建数据库 使用Navicat新建数据库shcoolnews。 为了保存管理员用户名、密码,新建us…

JSP+MySQL校园新闻网站(4)–新闻浏览功能开发

点此查看系列文章目录、源代码 本文目录0. 前言1. 任务2. 功能3. 开发3.1 新建view.jsp页面3.2 修改页面编码和标题3.3 添加JDBC数据库操作支持3.4 添加顶部标题栏3.5 为标题栏添加样式3.6 添加新闻表格3.7 为表格添加样式3.8 从数据库加载表格内容3.9 插入测试数据&#xff0c…