zoukankan      html  css  js  c++  java
  • Mysql学习(一)

    一、信息世界
    1.实体:现实中存在的事物,可以看做对象
    2.属性:实体具备的一个特性叫做属性
    3.码:具备唯一性的属性
    4实体集:同一类型的实体的集合
    5.实体型:一个单独的实体,也就是对象
     
    二、关系模型
    1.关系:具备共同属性的实体集构成的一个关系,一个关系对应一张表
    2.元组:表中的一行就是一个元组。
    3.属性:表中的一列就是一个属性。
    4.域:按照属性要求,规定一定范围的集合
    5.分量:一个元组的一个属性
     
    三、关系型数据库的优点
    1.数据存储严格按照三大范式,结构化强大,表格简单易懂
    2.数据的共享性高,冗余度低且易于扩张
    3.数据独立性高,物理独立性,逻辑独立性,主要采用二级映像来实现。
    4.数据由数据库管理系统来统一管理和控制。
     
    四、三层模式结构
     
    1.内模式:俗称存储模式,用于记录数据的物理结构以及存储方式(指数据如何存储到物理层的地址中)的描述,是数据在数据库内部的组织方式,一个数据库中只存在一个内模式。
    2.模式:俗称逻辑模式,用于数据库中全体数据的逻辑机构和特征的描述,一个数据库中只有一个模式。
    3.外模式:俗称子模式或者用户模式,外模式是模式的一个子集,同样也是直面用户程序的模式,针对于各种不同的用户程序,外模式中存在局部的数据的逻辑结构及特征的描述,可以有多个子模式。
     
    五、二级映像
     
    1.映像产生的目的在于解除模式,外模式,内模式之间的耦合,使得数据库管理系统针对于版本更新不会需要作出太大改动。
    2.外模式/模式映像:解除模式与外模式之间的耦合。达到,当我们修改模式时,只需要修改外模式模式映像,外模式不会因此发生改变,即数据的逻辑独立性
    3.模式/内模式映像:解除模式与内模式之间的耦合。达到,当我们修改内模式时,只需要修改模式/内模式映像,模式就不需要作出任何改变,即数据的物理独立性。
     
    六、数据库系统构成
    1.组成:数据+数据库+数据库管理系统+数据库管理员。
    2.数据:描述信息的符号标记。
    3.数据库:存放数据库的仓库
    4.数据库管理系统:位于用户与操作系统之间的数据管理软件,我们常说的数据库mysql,sql server等就是指数据库管理系统。
    5.数据库管理员:进行数据库管理的人员。
     
    七、数据库的表中概念
    1.候选码:一个属性组(可以一个属性可以多个属性),具备唯一性的标识,可以找到唯一的元组,且它的子集并不能,则该属性组被称为候选码。
    2.主码:表格创建的必须品,从多个候选码中选取一个为主码,也可以使用非空自增长的属性作为主码。
    3.主属性:存在于所有候选码中的属性都是主属性,主属性一定不能为空。
    4.非主属性:不包含在任意候选码中的属性被称之为非主属性。
     
    八、关系的完整性
    1.参照关系:当F属性是关系M的一个非码属性,S是N表的一个主码,若F属性中的值与S对应,则认为MN两表相互参照,为参照关系。F则为关系M的外码。
    2.实体完整性:表格的主属性不可为空
    3.参照完整性:表格中的外码,可以为空,但是不可以超出范围(即参照关系的主码的范围)
    4.用户自定义的完整性:用户针对于某一个数据表作出的一些例如非空等约束条件的限制。
     
    九、关系运算
    1.选择:根据用于对于属性的一些判断作出的查询操作。
    2.投影:选出若干属性进行去重后,得到新的表格。
    3.连接:多个之间的连接,详情见第十点
     
    十、连接
    1.表格属性
    table_a(`A`,`B`,`C`,`D`)
    table_b(`C`,`D`,`E`)
    insert into table_A values('1','2','3','3');
    insert into table_A values('2','4','4','2');
    insert into table_A values('3','2','1','4');
    insert into table_A values('4','3','2','4');
    insert into table_A values('5','3','3','1');
    insert into table_A values('6','3','8','7');
    insert into table_B values('1','2','3');
    insert into table_B values('2','4','4');
    insert into table_B values('3','2','1');
    insert into table_B values('4','3','2');
    insert into table_B values('5','3','3');
    1.自然连接(natural join):无需作出其他条件约束(也不能作出条件约束),系统会寻找出连接两表的相同的属性作为连接点输出。若存在多个相同的属性,则将多个属性连接起来视为一个属性判断相同。
    C+D作为连接点。
    select * from table_A natural join table_B;
    2.内连接(inner join):与自然连接相同,但是不是系统判定相同的属性名,而是通过用户使用use与on来自行定义相同属性。
    select * from table_A inner join table_B on table_A.D=table_b.c;
    3.左外连接(left outer join):与内连接相似,但是对于left outer join左边的表会显示没有被连接到的部分。
    select * from table_b left outer join table_a on table_b.c=table_a.c;
    4.右外连接(right outer join):与内连接相似,但是对于right outer join右边的表会显示没有被连接到的部分。
    select * from table_A right outer join table_B on table_A.d=table_b.c;     
    5.外连接:mysql不支持
  • 相关阅读:
    [linux]记录如何设置一个新的vps
    [python]使用virtualenvWrapper
    Vulkan Tutorial 07 Window surface
    Vulkan Tutorial 08 交换链
    Android实现小圆点显示未读功能
    【内附下载资料】第14次年度敏捷报告背后的趋势
    一文看懂人脸识别算法技术发展脉络
    实践案例丨基于ModelArts AI市场算法MobileNet_v2实现花卉分类
    美女面试官问我Python如何优雅的创建临时文件,我的回答....
    绝了,华为云服务器“The 3”出道,每款都很能打
  • 原文地址:https://www.cnblogs.com/qqwhsj/p/10756102.html
Copyright © 2011-2022 走看看