mysql-基础-概述
关系型数据库(RDBMS)
- 概念:
建立在关系模型基础上,由多张相互连接的二维表组成的数据库。 - 特点:
a. 使用表存储数据,格式统一,便于维护
b. 使用SQL语言操作,标准统一,使用方便
数据模型
- 定义:
在数据库系统中针对不同的使用对象和应用目的,采用不同的数据模型。根据模型的应用的不同的,可以将这些模型划分为两类,它们分属于不同的层次(可以对应看前面第一大点的配图) - 分类:
a. 概念数据模型:
它也称信息模型。它是按用户的观点(观念世界)来对数据和信息建模,主要用于数据库设计
b. DBMS支持的基本数据模型:
它是按计算机系统的观点进行(机器世界)数据建模,主要用于DBMS的实现
主要包括层次模型、网状模型、关系模型等等 - 数据模型的三要素:
a. 数据结构:
数据结构描述数据库的组成对象以及对象之间的联系
数据结构用于描述系统的静态特性
通常按照数据结构的类型来命名数据模型
层次结构——层次模型
网状结构——网状模型
关系结构——关系模型
b. 数据操作:
数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作及有关的操作规则
数据库主要有检索和修改(包括插入、删除、更新)两大类操作
数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言
数据操作用于描述系统的动态特征
说白了,就是你想咋 “动” 这些数据
c. 数据完整性约束:
数据完整性约束是一组完整性规则的集合
完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则, 用以限制符合数据模型的数据库状态以及状态的变化,用以确保数据的正确、有效和相容
下面我们会分别,就概念数据模型和基本数据类型两者进行较为详细的介绍
概念模型
1. 定义:
概念模型是从现实世界中抽取出对于一个目标应用系统来说最有用的事物、事物特征以及事物之间的联系,通过各种概念精确地加以描述
简单的说就是:概念模型,就是按照用户的观点来对信息进行建模
2. 必知概念
a. 实体(Entity):
客观存在并可相互区别的客观事物或抽象事件称为实体
就好比你脑海中对一个东西或事物的反映
实体可以指人,如一名学生、一名工人等;也可以指东西,如一台电脑、一个桌子、一个杯子等
实体不仅可以指实际的事物,还可以指抽象的事物,如一次拜访、一次野餐、购物、演出、篮球赛等
甚至还可以指事物与事物之间的联系,如“学生选课记录”和“用户订餐记录”等
b. 属性(Attribute):
属性是指实体所具有的某一方面的特性
一个实体可有多个属性,例如,学生的属性有姓名、年龄、性别、学院等。
属性值:属性所取的具体值称作属性值
例如,一名学生,其中一个属性 “姓名” 的取值 为 “张三”
c. 域(Domain):
一个属性可能取的所有属性值的范围称为该属性的域
例如,教师属性“性别”的域为男、女;教师属性“职称”的域为助教、讲师、副教授、教授等
由此可见,每个属性都是个变量,属性值就是变量所取的值,而域则是变量的变化范围
因此,属性是表征实体的最基本的信息
d. 码(Key):
惟一标识实体的属性集称为码
唯一!唯一!唯一!
例如学号是学生实体的码,一个学号就能确定这个学生到底哪个
e. 实体型(Entity Type):
具有相同属性的实体必然具有共同的特性和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型
例如,学生(姓名,年龄,性别,学院)就是一个实体型
f. 实体集(Entity Set):
同一类型实体的集合。
例如,某一学校中的学生具有相同的属性,他们就构成了实体集 “学生”
实体间联系:
现实世界中事物彼此的联系在概念模型中反映为实体间的联系
实体内部的联系通常是指组成实体的各属性之间的联系
实体之间的联系通常是指不同实体集之间的联系
一对一:
学校里,实体集班级与实体集班长之间的就具有1:1联系
一个班级只有一个班长,而一个班长只在一个班中任班长职务
一对多:
例如,实体集班级与实体集学生就是一对多联系
因为一个班级中有若干名学生,而每个学生只在一个班级中学习。
多对多:
实体集课程与实体集学生之间的联系是多对多联系(m:n)
因为一个课程同时有若干名学生选修,而一个学生可以同时选修多门课程。
实体型之间的这种一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。
例如,对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的
基本数据模型
目前常用的数据模型有三种:
a. 层次模型
b. 网状模型
c. 关系模型
其中层次模型和网状模型统称为非关系模型:
i. 层次模型(Hierarchical Model)
ii. 网状模型(Network Model)
iii. 关系模型(Relational Model)
iv. 半结构化数据模型(Semistructured-data Model)
v. 面向对象模型(Object Oriented Model)
对象关系模型(Object Relational Model)