1.数据库学习笔记(基础概念)

1.

  什么叫数据库:计算机上设备上 合理存放,相关联,有结构 的数据集合。 放在计算机硬件上,存储在磁盘上,大小取决于计算机存储空间大小本身。 

  数据整体结构化是与文件系统的根本区别,存放的不仅数据本身,还有数据之间的逻辑 关系。

2.特点: 

  2.1.结构化 

  2.2.数据共享 

  2.3.数据独立性高 

3.关系模型的组成 

  3.1数据结构 

  3.2数据操作 

  3.3数据完整性约束  

4.

  dbms:数据库管理系统 如mysql 

  dbs:数据库系统 , 硬件 + 软件 + 用户,db + dbms+用户(用户也是计算机系统的一部分 硬件 软件 用户) 

  dbas:dbs + 应用程序 

 5.数据库的三级模式和二级映像

dbms  三级模式结构 

  外模式:面向用户,不同的用户需要使用不同的数据模型,是用户和数据库之间的接口; 

  模式:又叫概念模式,是一种抽象的数据模型,介于物理存储细节和具体的程序设计语言之间; 

  内模式:概念模式对应物理结构; 

  

  比如说,我们把学校所有的数据抽象为一个数据模型,这个模型反映了数据间的逻辑关系,这个层面上的模型我们称为概念模型。

  每个用户或者是应用程序都需要特定的数据,比如说图书馆需要图书的数据,教务需要学生选课的数据等等,不同的用户需要不同的外模式。

 

  数据的独立性:改变模式的逻辑结构,外模式不变-----------逻辑独立性 

 

  内模式结构改变,模式不变。--------物理独立性 

二级映像实现独立性,当某一级模式变化了,我们通常只需要修改外模式/模式映像或者模式/内模式映像,从而保证数据的独立性。 

  用户数据库 

  概念数据库 

  物理数据库 

 6.用户通过dbms访问数据库的过程: 

  6.1.接受用户的请求 

  6.2.dbms对用户的请求进行分析 

  6.3.dbmsos发出请求 

  6.4.db将数据加载到缓冲区,发出读完标志。----------------缓冲区实现并发 

  6.5.dbms接受到回答信号,将通过模式与外模式之间的映射关系将物理数据转换为逻辑数据给用户。 

 

7. 记录: record,  数据库中每一行叫做一条记录。

  候选码:能够唯一区分 一条记录的属性或者属性集。

  主键:primary key  能够区分各个记录的一列或者多列,就是在候选码中选一个属性或者属性集作为主键。 

  外键: forieigin  key    出现一对多,多对多关系,连接两张表的字段。 

  表:某一数据库中存放一种特定类型的文件 

8.ER图的设计

  ER避免属性名与实体集重名。 

  关键是理解题意。 

  1.注意标识属性,即使题目没有写出,也要给出。 

  2.多对多关系要出现派生属性 

  3.写出题目给定的联系 

9.

常用数据模型:

  层次数据模型:树表示数据结构,表示多对多时,需要两个树,数据冗余量大, 难以更改,且操作复杂 

  网状数据模型:图表示数据结构,不能直接表达多对多关系,使用额外节点。 

  关系模型:二维表表示数据模型。

  面对对象模型:采用面对对象的方式组织数据,一条记录可以看成是类的一个对象,orm框架。

10.关系模型:   

  域:一组具有相同数据类型的值的集合 ,就是每一列 

  元组:域的笛卡尔积  D1 * D2 

  关系:笛卡尔积的子集  RD1 * D2 

  所以一个关系就是一条记录 ,一个元组。这不就是离散数学的东西嘛。 

  每一行不能一样,域中每一个元素都不一样,笛卡尔积不一样,笛卡尔积的子集不一样, 关系不一样。记录自然不一样。 

  笛卡尔集的目:元组中的元素的个数 

  笛卡尔集的基数:元组的总个数  

11.主键的设计

  1.主键:唯一标识一条记录的属性或属性集,一旦确定就不要轻易改动, 而且扩展性要高。        

   外键:联系两张表的属性。F是关系R的一个或者一组属性,但不是R的码,若F与关系 S的主码Ks对应,则称FR的外码,F为参照关系,S是被参照关系。 一对多关系中,我们多用外键建立联系,而多对多关系中利用另一张表建立联系。  

  2.关系操作:增删改查    属性指定 元素选择 关系合并 元组插入 元素删除) 

  3.完整性约束

  实体完整性 :主属性(候选码内的所有属性)不能为空

  参照完整性:外键要么为空,要么等于被参照关系的主键

  用户自定义完整性:用户定义的一些约束。

  一个关系模型必须满足实体完整性和参照完整性。  

 

12.关系代数: 

  基本关系代数运算: =:等于 , <> >,  <   

  并:关系相容,属性有一定的对应。RS合并为一个关系mysql中采用union关键字实现。 

  差:删除某个关系  R -S  R - S) ,“没有”问题 

  交: ‘’至少''字样  mysql中采用in关键字  

  笛卡尔积:关系的合并,两张表合成一张表。基数:元组个数  :每个元组中元素的个数 

  选择:选择特定的元组 

  投影 :选择元组的列,会合并相同的项。对于dbms来说,也不一定会去重。 

  条件连接:对笛卡尔积进行筛选 

  自然连接:RS的笛卡尔积中,!具有公共属性!,且属性值相等。新关系将公共属性合并为一个属性。  

  

  除法运算:R / S   S有公共属性BR有属性ABR关系的A属性里某一个值对应的B的值 组成一个集合,这个集合包含S中的B属性所有的值。除法结果就为集合中这些A的值。   一般含有至少 包含 所有等字眼  。

  查询选修全部课程的学生学号 

  查询:至少选修一号同学选修的所有课程的学生姓名  

  学生(学号,课程号 /课程( 课程号)

  查询至少选修了课程号为12的学生的学号。 

 

13. 

关系代数的优化: 

 

  

posted @ 2020-05-17 18:24  FizzPu  阅读(254)  评论(0编辑  收藏  举报