MySQL学习07(规范化数据库设计)】的更多相关文章

mysql学习5:数据库设计 本文转载:https://blog.51cto.com/9291927/2087925:原创为天山老妖S 一.数据库设计简介 按照规范设计,将数据库的设计过程分为六个阶段: A.系统需求分析阶段B.概念结构设计阶段C.逻辑结构设计阶段D.物理结构设计阶段E.数据库实施阶段F.数据库运行与维护阶段需求分析和概念结构设计独立于任何数据库管理系统. 二.系统需求分析 1.需求分析的任务 需求分析的任务:对现实世界要处理的对象进行详细的调查,通过对原系统的了解,收集支持新系…
规范化数据库设计 当数据库比较复杂时我们需要设计数据库 糟糕的数据库设计 : 数据冗余,存储空间浪费 数据更新和插入的异常 程序性能差 良好的数据库设计 : 节省数据的存储空间 能够保证数据的完整性 方便进行数据库应用系统的开发 软件项目开发周期中数据库设计 : 需求分析阶段: 分析客户的业务和数据处理需求 概要设计阶段:设计数据库的E-R模型图 , 确认需求信息的正确和完整. 设计数据库步骤 收集信息 与该系统有关人员进行交流 , 座谈 , 充分了解用户需求 , 理解数据库需要完成的任务. 标…
ylbtech-DatabaseDesgin:ylbtech-czgfh(规范化)-数据库设计 DatabaseName:czgfh(财政规范化) Model:账户模块.系统时间设计模块.上报自评和审核模块 Type:政府办公 Url: 1.A,数据库关系图(Database Diagram) 1.A.1,账户模块 1.A.2,系统时间设计模块 1.A.3,上报自评和审核模块(核心表score, dataRow, relation) 1.B,数据库设计脚本(Database Design Scr…
注:该MySql系列博客仅为个人学习笔记. 在使用MySql的时候,基本都是用图形化工具,如navicat.最近发现连最基本的创建表的语法都快忘了... 所以,想要重新系统性的学习下MySql,为后面学习MySql的一些高级查询,MySql性能和SQL语句的优化等打个基础. 用博客来记录下学习的过程,方便以后查阅和加强记忆.有错误的地方还请指出! 一.MySql的基本操作命令 注: <>表示参数.[]表示可选项 连接数据库:mysql> mysql -u<username>…
1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实的环境系统,如服务器集群,负载均衡等. 2 数据库的基础 2.1 什么是数据库? 数据库:database,存储数据的仓库. 数据库(专业定义):高效的存储和处理数据的介质(介质主要是两种:磁盘和内存). 2.2 数据库的分类? 基于存储介质的不同 关系型数据库(SQL) 非关系型数据库(NoSQL…
[数据库设计的三大范式] 1.第一范式(1NF First Normal Fromate):数据表中的每一列(字段),必须是不可拆分的最小单元.也就是确保每一列的原子性. 例如: userInfo: '山东省烟台市 13181621008' => userAds:'山东省烟台市' tel:'13181621008' 2.第二范式(2NF):满足1NF后,要求:表中所有的列,都必须功能依赖于主键,而不能有任何一列与主键没有关系.(一张表值描述一件事情) 3.第三范式(3NF):满足2NF后,要求:…
一.数据库概述 1.数据库的组织结构      (1)数据库就是用来存放信息的仓库.      (2)数据库里的数据集合都存放在数据表(table)里.      (3)数据表由数据行(row)和数据列(column)构成.      (4)一个数据行就是数据表里的一条记录.   二.数据库设计的三大范式      为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满足一…
廖大神的练手神器:在线SQL: https://www.liaoxuefeng.com/wiki/1177760294764384/1179611432985088 运行MySQL等实际的数据库软件,即可在线编写并执行SQL语句. 准备数据 为了便于讲解和练习,我们先准备好了一个 students 表 和一个 classes 表 ,它们的结构和数据如下: students 表存储了学生信息: id class_id name gender score 1 1 小明 M 90 2 1 小红 F 9…
zsql user/pasword@ip:port -c "show databases" # 展示一条sql语句 spool file_path 指定输出文件 可以为相对路径 spool off 保存执行结果 并关闭输出流 gsql 配置数据库服务器 gs_guc reload -Z coordinator -N NodeName -I all -C "listen_address = 'localhost,192.126.0.100,10.11.12.13'"g…
一. 关系模型与对象模型之间的对应关系 序号 关系模型:数据库 对象模型:java程序 1 数据表table 实体entity:特殊的java类 2 字段field 属性attribute/字段field 3 记录record 对象object . 类图:以图形化的方式描述类及类中的属性和方法,还可以通过类图导出java代码 -表示private(私有的) +表示public(公共的) . 用例图:指项目中每一个角色拥有的功能示意图 . E-R图:entity--relationship实体关系…
02_1 操作数据库 (1)创建数据库 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification[, create_specification]...] 解释: [IF NOT EXISTS]创建时提前检查一下是否存在数据库 create_specification:(创建条件) [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE collation_name CHAR…
01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mysql -u root –p回车,然后输入密码进入到mysql的操作系统,并具有root权限: 在命令提示符窗口使用services.msc查看mysql服务的状态. 01_2 数据库的简单介绍 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: 网状型数据库 层次型数据库 关系型数据库 面向对象数据库…
3.1   创建数据库 MySQL安装好之后,首先需要创建数据库,这是使用MySQL各种功能的前提.本章将详细介绍数据的基本操作,主要内容包括:创建数据库.删除数据库.不同类型的数据存储引擎和存储引擎的选择. MySQL安装完成之后,将会在其data目录下自动创建几个必需的数据库,可以使用SHOW DATABASES: 语句来查看当前所有存在的数据库,如下. 可以看到,数据库列表中包含了4个数据库, information_schema  : mysql是用户的详细信息的,它描述用户访问权限,用…
不考虑主备.集群等方案,基于业务上的设计主要是表结构及表间关系的设计. 而关于表中字段主要是依据业务来进行定义,我们能够指定的大概有这么几项: 存储引擎 一般用InnoDB,特殊需求特殊选用 字符集和校验规则 特别说一下校验规则是指两个字符之间的比較规则, 比方A=a的话就是不区分大写和小写,会影响order by等. bin通常是区分大写和小写的, 一般用general 字段定义 字段怎么选取类型 索引 后面再说 特殊用途表 比方做缓存,汇总等 字段的数据类型选择 三个原则: 更小的数据类型.…
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第6篇]:权限和数据库设计 用户和权限管理 /* 用户和权限管理 */ ------------------ 用户信息表:mysql.user -- 刷新权限 FLUSH PRIVILEGES -- 增加用户 CREATE USER 用户名 IDENTIFIED BY [PASSWORD] 密码(字符串) - 必须拥有mysql数据库的全局CREATE USER权限,或拥有IN…
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/48318877 本文出自[我是干勾鱼的博客] 1 简单介绍 MySQL Workbench是一款专为MySQL设计的ER/数据库建模工具.它是著名的数据库设计工具DBDesigner4的继任者. 你能够用MySQL Workbench设计和创建新的数据库图示.建立数据库文档,以及进行复杂的MySQL 迁移. 做数据库设计的话,大家都比較熟悉Power Designer,用得也比較…
一.数据库设计的必要性 在实际的软件项目中,如果系统中需要存储的数据量比较大,需要设计的表比较多,表与表之间的关系比较复杂,那我们就需要进行规范的数据库设置.如果不经过数据库的设计,我们构建的数据库不合理.不恰当,那么数据库的维护.运行效率会有很大的问题.这将直接影响到项目的运行性和可靠性. 二.什么是数据库设计 数据库设计实际上就是规划和结构化数据库中的数据对象以及这些数据对象之间的关系过程. 三.数据库设计的重要性 Ø 不经过设计的数据库或是设计糟糕的数据库很可能导致 1. 数据库运行效率地…
  Mysql学习   一.数据库   1 数据库概念(了解) 1.1 什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先: 可存储大量数据: 方便检索: 保持数据的一致性.完整性: 安全,可共享: 通过组合分析,可产生新数据.   1.2 数据库的发展历程 没有数据库,使用磁盘文件存储数据: 层次结构模型数据库: 网状结构模型数据库: 关系结构模型数据库:使用二维表格来存储数据: 关系-对象模型数据库:   MySQL就是关系型数据库!   1.3 常见数据库 Oracl…
大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析这门课,上次课我们介绍了E-R图,我们要给手机销售公司设计数据库,那么同一个项目,10个设计人员可能设计出10种不同的E-R图:因为不同的设计人员会从不同的角度,标识出不同的实体,而每个实体又包含不同的属性,自然设计出的下E-R图也就不同了: 正是因为有这个原因,所以我们自然就要想办法找出一个E-R图设计优劣或者说好坏的标准,大家说是不是,有了这个标准,我们才能找出最优的设计数据库的方案,那么,这个标准就是数据的三大范式: 这里,我估…
一.数据库基本概念 1. 关系:两个表的公共字段 2. 行:也称记录,也称实体 3. 列:也称字段,也称属性 4. 数据冗余:相同的数据存在不同的地方. 注意:冗余只能减少,不能杜绝. 减少冗余,只能分表 方便查找,允许一定的冗余 5. 数据完整性:正确性+准确性 二.实体和实体间的关系 1. 关系类型:一对一(主键和主键),一对多(主键和非主键),多对多(建立关系表) 三.数据库设计步骤 1. 收集信息:与该系统有关人员进行交流.坐谈.充分理解数据库需要完成的任务. 2. 标识对象(实体-en…
http://blog.csdn.net/taijianyu/article/details/5945490 一:表中应该避免可为空的列: 二:表不应该有重复的值或者列: 三: 表中记录应该有一个唯一的标识符  在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来 唯一的标识行记录,而不要通过名字.编号等字段来对纪录进行区分.每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值.另外,这个ID值最 好有数据库来进行自动管理,而不要把这个任务给前台应用程序.否则的话,很容…
1.数据库设计 关系型数据库建议在E-R模型的基础上,我们需要根据产品经理的设计策划,抽取出来模型与关系,制定出表结构,这是项目开始的第一步 在开发中有很多设计数据库的软件,常用的如power designer,db desinger等,这些软件可以直观的看到实体及实体间的关系 设计数据库,可能是由专门的数据库设计人员完成,也可能是由开发组成员完成,一般是项目经理带领组员来完成 1.1 实体 就是我们根据开发需求,要保存到数据库中作为一张表存在的事物.实体的名称最终会变成表名 实体会有属性,实体…
最近手头上有3个项目开动,其他2个都是从底层开始的,一个已经开始了一段时间的了,在小城市小团队开发的条件下,都没有专门的DBA来做数据库的设计和维护,往往都是开发人员顶上,可是看了很多的数据库的设计,感觉很多设计都不是很完美,包括DZ的Ucenter和UcenterHome的数据库,所以这段时间话了近5个小时的时间好好的整理了下数据库方面的基本内容,配合现有的框架来实现快捷的数据库设计,来满足目前项目的需求 参考的数据库文档主要有:目前国内的常见的PHP系统的数据库 DZ6.0的数据库 ECSH…
本文出处:http://blog.csdn.net/u012377333/article/details/47006087 接上篇介绍<基于CentOS的Mysql学习补充二--使用Shell创建数据库>,本文继续探索关于Shell和MySQL的结合使用,我不知道当一个数据库设计完毕之后怎样高速的创建设计好的数据库表和加入对应基本数据,我眼下知道的就是使用Shell和SQL脚本来达到我的目的--高速的.多次的.可反复利用的创建数据库表. 创建一个数据库表的SQL脚本: /***********…
E-R设计 很多同学在学SQL语句时,觉得非常困难,那是因为你在学一个你根本不了解的数据库,数据库中的表不是你设计的,表与表之间的关系你不明白.因此在学SQL语句之前,先介绍一下数据库设计. 下面举例说明数据库设计: 学校需要开发一个系统记录有学生.课程和成绩信息.数据库如何设计? 这里面涉及到两个实体,学生表.课程,这些表为实体表. 这些表之间有什么关系呢?.学生考试出成绩,成绩记录在成绩表. 一个学生可以参加多门课程,关系是1对多. 数据库设计实例 设计数据库和表 安装mySQL 运行apt…
最开始本来想写一个管理系统,因为考虑到期末来临,我女朋友就可以看着教程然后学一些东西,然后可以自己慢慢手敲代码.但无奈自己也太懒,两个月过后,我才开始继续写这个博客,而现在我都已经开学了.不过博客还是得继续写,有这么大的一个平台,为什么不分享自己的想法,或者说分享自己的一些知识呢. 一.系统需求分析 下面是之前她发给我的一张图片,也不知道是哪一本书的项目,她说期末作业差不多就是这样了,我搜了一下是有一些写好的项目的,但也不管了,就挨着写好了.这是一个交友信息发布网,暂且就叫它信息发布系统吧,加上…
本规范适用于mysql 5.1或以上版本使用 数据库范式 第一范式(1NF)确保每列保持原子性 第一范式(1NF):数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项. 例如: 体重是每个学生的属性,在数据库设计的时候,不会将“体重”拆分成两个字段保存,所以建立一个“学生表”(学生ID.姓名.身高.体重): 第二范式(2NF)确保表中的每列都和主键相关 满足第二范式(2NF)必须先满足第一范式(1NF),第二范式(2NF)要求实体的属性完全依赖于主关键字.如果存在不…
1)谨慎而有效地使用索引 选择合理的索引(前缀性及可选性).删除没有用的索引. 2)使用规范化,但不要使用过头 规范化(至少是第三范式)是一个易于理解且标准的方法.然而,在有些情况下,你可能希望违反这些规则.查询表通常是规范化的产物,也就是说,你创建了一个特殊的表,这个表包含了在其他表中被频繁使用的相关信息的列表.然而,当使用那些经常被访问且分布有限(仅有或有限的行数拥有小值)的查找表时,会使系统性能降低.在这种情况下,每次你使用查询信息,它们必须使用join以获取完整数据.join的开销很大,…
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有专门的DBA写上述 mysql内核 sql优化工程师 mysql服务器的优化 各种参数常量设定 查询语句优化 主从复制 软硬件升级 容灾备份 sql编程 mysqlLinux版的安装 mysql5.5 下载地址:https://dev.mysql.com/downloads/mysql/5.5.ht…
一.缓冲池(Buffer Pool)的地位 在<MySQL 学习总结 之 InnoDB 存储引擎的架构设计>中,我们就讲到,缓冲池是 InnoDB 存储引擎中最重要的组件.因为为了提高 MySQL 的并发性能,使用到的数据都会缓存在缓冲池中,然后所有的增删改查操作都将在缓冲池中执行. 通过这种方式,保证每个更新请求,尽量就是只更新内存,然后往磁盘顺序写日志文件. 更新内存的性能是极高的,然后顺序写磁盘上的日志文件的性能也是比较高的,因为顺序写磁盘文件,他的性能要远高于随机读写磁盘文件. 正因为…