数据库基础

数据库系统的组成:由数据库,数据库管理软件,数据库管理员DBA,支持数据库系统的硬件和软件组成,其中数据库管理员是对数据库进行规划、设计、维护、和监视的专业管理人员,在数据库系统中起着非常重要的作用

数据库系统的三级模式解构分为:

内模式(唯一):主要描述数据库系统的物理结构和储存方式,是数据库内部的表达方式。

模式(唯一):主要描述数据库系统的逻辑结构和特征进行描述,是说有用户的公共数据视图。

外模式:数据库用户能够看见的局部数据的逻辑结构和特征的描述,是保证数据库的数据安全性的有力措施。

为了能够在数据库内部实现这三个模式抽象层次的联系和转换,数据库管理系统在三级模式中提供了两层映射。1 外模式/模式映射(保证数据与程序的逻辑独立性)  2 模式/内模式映射(保证了数据与程序的物理独立性)

关系数据库:是支持关系模型的数据库,关系模型由 1关系数据结构 2关系操作集合 3完整性约束

数据库的规范化管理:数据库的三范式(主要目的减少数据longyu,保证输入输出数据的一致性与正确性,保证数据与应用程序之间的高独立性)

1NF:在一个关系中,消除重复字段,且各个字段都是最小的逻辑储存单位(例如:字段地址可以分为省份,市,区,分到最小的逻辑储存单位)

2NF:关系模型中属于第一范式,关系中每一个非主键关键字完全依赖于主键,不能部分依赖主关键字。

3NF:关系模型中属于第一范式,关系中每一个非主键关键字只依赖主键。

数据库中实体和实体之间的关系分类:

一对一的关系:略(大部分相关信息都在一个表中)

一对多的关系:例如一个老师对应有在教导多个学生

多对多的关系:多对多关系的建立是依靠三个表(称作连接表)实现的,连接表包含相关的两个表的主键列,然后从两个相关表的列分别创建与连接表中的匹配列关系。

SQL执行顺序:SELECT DISTINCT TOP<num>

       <select list>

       FROM [left table]

       <join type>JOIN<right table>

            ON <join约束>

       WHERE <where 约束>

       GROUP BY<group by list>

       WHIT<cube\rollup>

       HAVING<having约束>

       ORDER BY <order by约束>

-----------------------------1到11为执行的顺序

SQL学习笔记之 数据库基础(一)的更多相关文章

  1. MySQL学习笔记01_数据库基础知识

    01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mys ...

  2. MySQL学习笔记(一)—数据库基础

    一.数据库概述 1.数据库的组织结构      (1)数据库就是用来存放信息的仓库.      (2)数据库里的数据集合都存放在数据表(table)里.      (3)数据表由数据行(row)和数据 ...

  3. SQL学习笔记——创建数据库显示:文件激活错误,物理文件名不存在>>解决方案

    今天在创建数据库时,跟着老师一步一步的操作创建成功,但出于在厌恶冗长的数据库存储路径,于是,擅自更改了数据filename,让他保存在电脑桌面新建的文件夹,可是一执行就报错了. 老师源码: 1 cre ...

  4. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  5. MongoDB学习笔记:MongoDB 数据库的命名、设计规范

    MongoDB学习笔记:MongoDB 数据库的命名.设计规范     第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. Java学习笔记:语言基础

    Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

  8. ORALCE PL/SQL学习笔记

    ORALCE  PL/SQL学习笔记 详情见自己电脑的备份数据资料

  9. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

随机推荐

  1. Python笔记:设计模式之facade模式

    facade模式,即门面模式,也称外观模式,这个模式的核心思想是使用facade对象为外部客户端提供一个统一的访问一组子系统的接口,即客户端不会直接与各个子系统交互,而是通过facade对象与各个子系 ...

  2. C++ 赋值运算符'='的重载(浅拷贝、深拷贝)

    01 赋值运算符重载的需求 有时候希望赋值运算符两边的类型可以不匹配,比如:把一个 int 类型变量赋值给一个Complex(复数)对象,或把一个 char* 类型的字符串赋值给一个字符串对象,此时就 ...

  3. Python3在使用requests提示警告InsecureRequestWarning

    解决方法:

  4. 安装新版Magisk卡在启动页面等问题以及解决办法

      手持小米9,之前更新了新版本的Magisk Manager之后,发现手机再打开会一直卡在进入界面无法启动(如下图显示)   逛了逛Github.XDA.Stack Overflow等论坛,大致结论 ...

  5. pyecharts和echarts的混合使用

    ECharts是一个由百度开发的纯 Javascript 的图表库,pyecharts是某三位大佬将ECharts移植到Python项目中的产物,在Python网站中可以更轻松的接入图表,但是个人感觉 ...

  6. Python—内置三大装饰器(@staticmethod、@classmethod、@property)

    https://blog.csdn.net/weixin_42681866/article/details/83376484 https://blog.csdn.net/weixin_43265804 ...

  7. Flask request接口获取参数

    Flask request接口获取参数   request.form.get("key", type=str, default=None) 获取表单数据, request.args ...

  8. java中的字符串二

    public class TestString { public static void main(String[] args) { // TODO Auto-generated method stu ...

  9. scrapy 爬取视频

    利用FilesPipeline 下载视频 1.setting.py # 保存log信息的文件名 LOG_LEVEL = "INFO" # LOG_STDOUT = True # L ...

  10. python 实用小技巧

    1. 列表 #以下三式等价 c = (a>b and a or b) c = a if a>b else b c = [b, a][a>b] 字符串拼接 ' + '.join('%s ...