一.什么是数据库
数据库Database:存储数据的仓库DB
随着电商的发展,仓库也越来越多的被大家所知道;关于仓库管理员的工作大家也有所了解
自古至今,都有很多种仓库:粮仓,弹药库等 仓库中还会有仓库管理员(DBA)对货物进行管理
从仓库中拿货物需要凭证,取货和进货的人(程序员)
二、我们怎么存储数据
发展历程:结绳记事-》文件存储-》计算机
对于数据不仅需要存储,更重要的是将数据进行存储以后怎么才能方便快捷的查询、修改
数据库特点:海量存储、查找速度快、并发性问题控制、安全性、数据完整性(保存在数据库中的数据是正确的,真实的)
高级应用:BI,专家系统,人工智能
三、数据库概述
DBMS(DataBase Management System,数据库管理系统)和数据库。平时谈到“数据库”可能有两种含义:MSSQLServer、Oracle等某种DBMS;存放一堆数据表的一个分类( Catalog )
不同品牌的DBMS有自己的不同的特点:MYSQL(速度很快,适合对数据要求并不是十分严谨的地方,去掉了很多中小型企业中不常用的功能)、MSSQLServer(与.net结合很好,只能运行在windows平台下,大数据量、大交易量表现并不十分好)、DB2(大型)、Oracle(大型)、Access(文件)、 SQLite(极其轻量级数据库) 、Sybase等。对于开发人员来讲,大同小异
SQL(语言)<>SQLServer<>MSSQLServer。最常见的错误。
除了Access、SQLServerCE、SQLite等文件型数据库之外,大部分数据库都需要数据库服务器才能运行。学习、开发时是连接本机的数据库,上线运行时是数据库运行在单独的服务器
四、关系型数据库E-R(实体-联系图(Entity Relationship Diagram))
当前主 流的数据库,都是基于E-R模型的数据库
E-R模型指实体-关系模型
典型的特点是:一个实体可以包含多个列,一行构成一个实体;实体与实体之间可以有多种对应关系
这里的实例,与面向对象中的类相似,只是这里只关注描述对象的数据(字段),而不关心对象的行为(函数)
五、数据库中的概念
数据库DataBase,不同类的数据应该放到不同的数据库中
(1)便于对各个数据类别的进行个性化管理
(2)避免命名冲突
(3)安全性更高
Table(表):关系数据库中的[关系]指的就是表。不同的货物要放到各自的货物架,将这种区域叫做“表”(Table)。不同的表根据放的数据不同进行空间的优化,找起来也方便。
列(Column)、字段(Field)、行(Row)元组
用表格格式化数据:即便是引入了自动识别设备也很容易识别。
六、数据库设计:范式(三范式)
现阶段,必须遵守满足3NF
1范式:(列不可拆分)
列的原子性,即列不可再拆分
2范式:(唯一标识)
表中不能描述多个信息,不能有数据冗余
3范式:(引用主键)
引用其它表的主键信息