数据库基础

数据库系统的组成:由数据库,数据库管理软件,数据库管理员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. LinuxShell脚本——函数

    LinuxShell脚本——函数 摘要:本文主要学习了Shell中函数的定义和使用. 函数的定义 Shell函数的本质是一段可以重复使用的脚本代码,这段代码被提前编写好了,放在了指定的位置,使用时直接 ...

  2. 使用element-ui的el-menu导航选中后刷新页面保持当前选中

    <el-menu :default-active=‘$route.path‘ :router=‘true‘ :unique-opened=‘true‘ :default-openeds=&quo ...

  3. Python对csv文件的读写操作

    python内置了csv模块,用它可以方便的操作csv文件. 1.写文件 (1)写文件的方法一 import csv # open 打开文件有多种模式,下面是常见的4种 # r:读数据,默认模式 # ...

  4. 使用Flask构建一个Web应用

    Flask是一个使用Python编写的轻量级Web应用框架. 一.安装Flask 以管理员身份,打开命令提示符窗口,输入下面命令 py -3 -m pip install flask 这个命令会连接到 ...

  5. postman---postman参数化

    我们在做接口测试的过程中,都会遇到同一个接口不同的数据,每次去一个个填写数据就太麻烦了,今天我们一起学习下如何通过postman进行参数化 参数化 参数化就是1个接口请求不同的数据,我们可以通过把请求 ...

  6. matplotlib画3D图修改X,Y,Z,colorbar的刻度值

    修改X,Y,Z轴的刻度值 from matplotlib.ticker import MultipleLocator,FuncFormatter from mpl_toolkits.mplot3d i ...

  7. OpenGL基础代码整理

    3-1:画点,连成线 // OPENGL.cpp : Defines the entry point for the console application. // #include "st ...

  8. Centos 7 编译安装mariadb 5.5

    一.环境 OS :Linux 3.10.0-693.el7.x86_64 mariadb下载地址: ]# wget https://downloads.mariadb.org/interstitial ...

  9. C++ try catch 示例代码

    #include<iostream> void f1() { throw std::string("error happen"); } void f2() { try ...

  10. 浅谈C++ STL vector 容器

    浅谈C++ STL vector 容器 本篇随笔简单介绍一下\(C++STL\)中\(vector\)容器的使用方法和常见的使用技巧.\(vector\)容器是\(C++STL\)的一种比较基本的容器 ...