Database Course Summary 001
0x01. 基本概念
SQL:Structured English Query Language
1. 数据 Data
数据(Data):描述事物的符号记录;数据内容是事物特性的反应或描述;数据是符号的集合。
- 数据是数据库中存储的基本对象。
- 数据的最小存取单位是记录。
- 符号:不仅指数字、字母、文字和其他特殊字符,且包括图形、图像、声音等多媒体数据。
- 记录:不仅指写在纸上,而且包括记录在各种介质上。
2. 数据库DB(Database)
数据库(Database,简称 DB):长期储存在计算机内、有组织的、可共享的大量数据集合。
3. 数据库管理系统DBMS( Database Management System)
数据库管理系统(Database Management System,简称 DBMS):用户与操作系统之间的一层数据管理软件。 用途:科学地组织和存储数据、高效地获取和维护数据。
4. 数据库系统DBS(Database System)
数据库系统(Database System,简称 DBS):计算机系统中引入数据库后的系统构成。
- 在不引起混淆的情况下常常把数据库系统简称为数据库。

数据库系统:
数据的管理者:DBMS
数据面向的对象:现实世界
数据的结构化:整体结构化
数据的共享程度:共享性高
数据的独立性:高度的物理独立性和一定的逻辑独立性
数据控制能力:由DBMS统一管理和控制
数据库特点:
数据结构化
数据的共享性高、冗余度低、易扩充
数据独立性高
5.数据模型
数据模型:用来抽象、表示和处理现实世界中的数据和信息的工具;
通俗地讲数据模型就是现实世界的模拟。
数据模型应满足三方面要求
能比较真实地模拟现实世界
容易为人所理解
便于在计算机上实现
数据模型的组成要素
数据结构:数据库中对象(Object)类型的集合。(静态特性)
数据操作:对数据库中对象的实例允许执行的操作的集合。(动态特性)
数据的约束条件:一组完整性规则的集合,反映数据及其联系所具有的 制约和依存规则,以保证数据的正确,有效和相容。
常用数据模型
非关系模型
- 层次模型(Hierarchical Model)
- 网状模型(Network Model )
- 数据结构:以基本层次联系为基本单位
- 基本层次联系:两个记录以及它们之间的一对多(包括一对一)的联系
关系模型(Relational Model)
- 数据结构:表
面向对象模型(Object Oriented Model)
- 数据结构:对象
对象关系模型(Object Relational Model)
6. 信息世界中的基本概念
实体(Entity):客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。
属性(Attribute):实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。
码(Key):唯一标识实体的属性集称为码。
域(Domain):属性的取值范围称为该属性的域。
实体型(Entity Type):用实体名及其属性名集合来抽象和刻画同类实体称为实体型。
实体集(Entity Set):同型实体的集合称为实体集。
同型实体的取值集合称为实体集(实体值的集合).
联系(Relationship):现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。
eg:举例说明上述基本概念
| 概念 | 例子 |
|---|---|
| 实体(对象) | 课程 |
| 属性 | 课程号,课程名,学分 |
| 码 | 课程号 |
| 域 | 学分取值范围0-100 |
| 实体型 | 课程 (课程号,课程名,学分) |
| 某个实体(实体值) | (”01”,”数据库原理”,”3”) |
| 实体集(Entity Set) | (”01”,”数据库原理”,”3”)(”02”,”计算机网络”,”2”)…... |
同型实体的取值集合称为实体集(实体值的集合)。
7. 实体-联系方法(E-R 方法,也称为 E-R 模型)
实体型:用矩形表示,矩形框内写明实体名。
属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。
键用下划线表示;
单属性:某个特定的实体在该属性的取值唯一。
表示方法:带有属性名的椭圆形框;
多值属性:某个特定的实体在该属性的取值多于一个。
表示方法:带有属性名的双椭圆形框;
派生属性:可以从其他相关的属性或实体派生出来的属性值。如学生(学号,姓名,平均成绩),选课(学号,课程号,成绩),则平均成绩可由学生所选课程的总成绩除以课程总数来得到。称平均成绩为派生属性,而成绩为基属性,或存储属性;
表示方法:带有属性名的虚椭圆形框;
复合属性:可再分的属性;

8. 关系模型的基本概念
关系(Relation):一个关系对应通常说的一张表。
元组(Tuple):表中的一行即为一个元组。
属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。
码(Key):表中的某个属性组,它可以唯一确定一个元组。
域(Domain):属性的取值范围。
分量:元组中的一个属性值。
关系模式:对关系的描述
关系名(属性1,属性2,…,属性n)
例:学生(学号,姓名,年龄,性别,系,年级)

9. 实体与实体间的联系
- 表示方法:
- 实体型:直接用关系(表)表示。
- 属性:用属性名表示。
- 一对一联系:隐含在实体对应的关系中。
- 一对多联系:隐含在实体对应的关系中。
- 多对多联系:直接用关系表示。
- 1:1联系的转换方法
- 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。
- 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。
Database Course Summary 001的更多相关文章
- Network Principle Course Summary 001
1.物理层 物理层 协议:RJ45.CLOCK.IEEE802.3 (中继器,集线器) 作用:通过媒介传输比特,确定机械及电气规范(比特Bit) 1.1 通信基础 数据 (data) —— 运送消息的 ...
- P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1
P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1 May ...
- 小型文件数据库 (a file database for small apps) SharpFileDB
小型文件数据库 (a file database for small apps) SharpFileDB For english version of this article, please cli ...
- SharpFileDB - a file database for small apps
SharpFileDB - a file database for small apps 本文中文版在此处. I'm not an expert of database. Please feel fr ...
- P6 EPPM Manual Installation Guide (Oracle Database)
P6 EPPM Manual Installation Guide (Oracle Database) P6 EPPM Manual Installation Guide (Oracle Databa ...
- C# 利用MS的 EntLib的Database类编写的DbHelper
C# 利用MS的 EntLib的Database类编写的DbHelper,由于MS的EntLib对Oracle.SQL Server和MySql已经封装,所以可以该DbHelper可以适用这三种数据库 ...
- P6 EPPM Installation and Configuration Guide 16 R1 April 2016
P6 EPPM Installation and Configuration Guide 16 R1 April 2016 Contents About Installing and ...
- oracle_hc.sql
select event,count(1) from gv$session group by event order by 2;exec dbms_workload_repository.create ...
- .NET基础拾遗(6)ADO.NET与数据库开发基础
Index : (1)类型语法.内存管理和垃圾回收基础 (2)面向对象的实现和异常的处理 (3)字符串.集合与流 (4)委托.事件.反射与特性 (5)多线程开发基础 (6)ADO.NET与数据库开发基 ...
随机推荐
- [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束
Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...
- Git从零开始(二)
前面提交了一个test1.txt文件,接下来看看这个文件接下来的命运. 一.继续修改并提交 在test1.txt中修改后, git status 查看git的状态, 会提示我们文件test1.txt被 ...
- catboost原理以及Python代码
原论文: http://learningsys.org/nips17/assets/papers/paper_11.pdf catboost原理: One-hot编码可以在预处理阶段或在训练期间 ...
- Centos中安装和配置vsftp简明教程
一.vsftp安装篇 # 安装vsftpd yum -y install vsftpd # 启动 service vsftpd start # 开启启动 chkconfig vsftpd on 二.v ...
- Java_按位与&,按位或,取反,左移,右移运算符
//按位与运算& System.out.println(0&0);//0 System.out.println(0&1);//0 System.out.println(1&am ...
- MT【168】还是两根法
设二次函数$f(x)=ax^2+bx+c(a>0)$,方程$f(x)=x$的两根$x_1,x_2$满足$0<x_1<x_2<\dfrac{1}{a}$,(Ⅰ)当$x\in(0, ...
- 洛谷P4234 最小差值生成树(LCT,生成树)
洛谷题目传送门 和魔法森林有点像,都是动态维护最小生成树(可参考一下Blog的LCT总结相关部分) 至于从小到大还是从大到小当然无所谓啦,我是从小到大排序,每次枚举边,还没连通就连,已连通就替换环上最 ...
- QeePHP View视图的默认变量与新增变量
新版本的QeePHP(V13.1)中,视图页面已经默认添加了几个常用变量 $_app; //控制器所属的应用程序 $_login_user; //登陆用户信息 直接在视图页面直接使用变量即可. 如果 ...
- 在Linux中以普通用户开机自动运行脚本程序
测试环境:CentOS6.5 管理员:root 普通用户:test1 实现目标:在Linux启动时,以普通用户test1自动运行位于根目录下的脚本程序test.py,该程序会在每次执行时自动向本地日志 ...
- 使用 yield 减少内存消耗
php 里面想要处理一个文本文件,有一个方法是使用 file() 函数,但是这个函数会读取文件所有内容,可能会导致占用很大内存. // 28.1 M 的文本文件, 200w 行 $file = 'st ...