学校是第15周结课,今天是本周的第九周,换句话说还有五到六周的时间可以让我垂死挣扎一下,那么从今天开始,博主就以此篇博文当作数据库学习的序言,开启新的救赎之路。
开发环境
微软SQL2012
开发过程
纯代码开发,拒绝手指点点傻瓜操作。
开发目的
扛过这波应试,有机会学习Mysql。
下面就进入第一天的学习之旅吧
数据库系统概述
数据库的4个基本概念
数据
数据(Data)是数据库中存储的基本对象
数据的种类:
- 数字
- 文字
- 图形等
只要前端能获取的,都可以存到数据库里
举个例子:
学生某门课的成绩
班级的总人数
数据库
数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。
数据库的基本特征
- 数据按一定的数据模型组织、描述和储存
- 可为各种用户共享、冗余度较小、易扩展
- 数据独立性较高
数据库管理系统
数据库管理系统是位于用户应用与操作系统之间的一层数据管理软件,是基础软件,是一个大型复杂的软件系统。
数据库管理系统的主要功能
- 数据定义功能
- 数据组织、存储和管理
- 数据操纵功能
- 数据库的事务管理和运行管理
- 数据库的建立和维护功能
数据库系统
数据库系统是指在计算机系统中引入数据库后的系统构成。
数据库系统的构成
- 数据库
- 数据库管理系统
- 应用程序
- 数据库管理员
说到这里的时候,大家可以看到,数据库系统是个很大的概念,就犹如道家里的道,道生万象。仔细体会一下.
数据库管理技术的产生与发展
数据管理就是对数据进行各种操作。数据管理会给企业带来巨大的财富!
技术的发展过程
- 人工管理阶段(20世纪50年代中之前)
- 文件系统阶段(20世纪50年代末–60年代中)
- 数据库系统阶段(20世纪60年代末–现在)
其实如果仅仅操作的话,了解了这些,懂得现在是处于什么阶段就行了。
数据库系统的特点
- 数据结构化
- 数据的共享性高,冗余度低且易扩充
- 数据独立性高
- 数据由数据库管理系统统一管理和控制
数据模型
大家只要对《数据结构》熟悉,数据模型也应该挺熟悉的,就是对现实世界的抽象。特别经典!
两类数据模型
这两类数据模型就是概念模型和逻辑模型。概念模型就是对现实的抽象,而逻辑模型就是对概念模型用计算机的实现。
概念模型
信息世界中的基本概念
- 实体:实实在在存在的东西,比如:人
- 属性:实体具有的某一特性,比如:身高
- 码:实体的唯一标识,比如:身份证号码
- 实体型:实体及其属性集合:班里某一个人的特征
- 实体集合:所有实体的集合 比如:同一个班内所有成员
- 联系:分为内部联系与实体与实体之间的联系,例如下图:
实体-联系方法
概念模型的一种表示方法,工程界一致认为:E-R图。比如这种
数据模型的组成要素
数据结构、数据操作、完整性约束。
这三者刻画数据模型,比如说,
数据结构说白了就是描述,两者的关系,在《数据结构》的课程里,大家应该非常熟悉才对。数据的操作就是增删查改。所谓的完整性约束就是你用什么类型,类型决定它的属性嘛!比如:年龄,数字或日期类型。最后日期类型,这样可以动态。
常用的数据模型
- 层次模型
- 网状模型
- 关系模型
其他就等等了,这三种就是经典,两个字背他!
层次模型
二叉树模型,大家都懂的,了解一二就行了
缺点就两种:程序难实现、人类难看懂!
改就对了!
网状模型
缺点很明显:程序员不好操作、程序不友好
关系模型
我们现在用的就是关系模型,非常经典
人类很舒服,也可视化,非常棒的存储方式。
数据库系统的结构
从程序员来看,数据库采用三级模式结构。
从用户来看就是单用户结构、主从式结构、分布式结构、客户-服务器、浏览器-应用服务器/数据库服务器等等
记住两种C/S B/S
客户-服务器,浏览器/数据库服务器。这是程序员必须掌握的概念。
数据库系统模式的概念
分为模式和实例。
模式
是对数据逻辑结构的描述,简称抽象概念
实例
有很多具体的个案
比如:java变成,你写一个抽象接口,最后还要实例化才能用到程序当中。
数据库系统的三级模式结构
- 模式(逻辑模式)
- 外模式
- 内模式
就是给用户看、给程序员看的东西。
数据库的二级映像功能与数据独立性
- 外模式/模式映像
- 模式/内模式映像
简化管理员操作的事务。
数据独立性就是避免冗余
数据库系统的组成
- 数据库
- 数据库管理系统
- 应用
- 数据库管理员
说白了就是物+人。软件要好,硬件要顶得住软件的折腾。管理员要会玩。用户就是傻瓜点点就行了。
小结
基本概念,捋一下,后面就不会特别吃力!