SQL学习笔记之 数据库基础(一)
数据库基础
数据库系统的组成:由数据库,数据库管理软件,数据库管理员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学习笔记之 数据库基础(一)的更多相关文章
- MySQL学习笔记01_数据库基础知识
01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mys ...
- MySQL学习笔记(一)—数据库基础
一.数据库概述 1.数据库的组织结构 (1)数据库就是用来存放信息的仓库. (2)数据库里的数据集合都存放在数据表(table)里. (3)数据表由数据行(row)和数据 ...
- SQL学习笔记——创建数据库显示:文件激活错误,物理文件名不存在>>解决方案
今天在创建数据库时,跟着老师一步一步的操作创建成功,但出于在厌恶冗长的数据库存储路径,于是,擅自更改了数据filename,让他保存在电脑桌面新建的文件夹,可是一执行就报错了. 老师源码: 1 cre ...
- Mysql数据库学习笔记之数据库索引(index)
什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...
- MongoDB学习笔记:MongoDB 数据库的命名、设计规范
MongoDB学习笔记:MongoDB 数据库的命名.设计规范 第一部分,我们先说命名规范. 文档 设计约束 UTF-8 字符 不能包含 \0 字符(空字符),这个字符标识建的结尾 . 和 $ ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- ORALCE PL/SQL学习笔记
ORALCE PL/SQL学习笔记 详情见自己电脑的备份数据资料
- 卷积神经网络(CNN)学习笔记1:基础入门
卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01 | In Machine Learning | 9 Comments | 14935 Vie ...
随机推荐
- Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战
Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战 Java生鲜电商平台- 什么是秒杀 通俗一点讲就是网络商家为促销等目的组织的网上限时抢购活动 比如说京东秒杀,就是一种定时定量秒杀,在规定 ...
- JQuery Easy UI 1.7官网最新版附1.7API
最新的Easy UI 1.7包括1.7的API已上传至百度云盘,有需要的,请自行下载!!! 使用示例: 注:红色加粗的必须引入!!! <!DOCTYPE html> <html> ...
- django3-视图函数进阶
1.视图函数的分类 FBV(fucntion base view) CBV(class base view) ,CBV根据定义的方法名 ,判断什么请求执行什么函数 2.FBV转换CBV (不太对劲) ...
- 同样是高并发,QQ/微博/12306的架构难度一样吗?
开篇 同一个用户并发扣款时,有一定概率出现数据不一致,可以使用CAS乐观锁的方式,在不降低吞吐量,保证数据的一致性: UPDATE t_yue SET money=$new_money WHERE u ...
- HC595驱动数码管
74HC595是一个8位串行输入.并行输出的位移缓存器 引脚定义 Q0~Q7:并行输出 Q7':串行输出 SH_CP:移位寄存器时钟输入 ST_CP:存储寄存器时钟输入 DS:串行输入 原理图 举例 ...
- Android 蓝牙开发(1)
普通蓝牙设备官方文档 Android 平台包含蓝牙网络堆栈支持,凭借此支持,设备能以无线方式与其他蓝牙设备交换数据.应用框架提供了通过 Android Bluetooth API 访问蓝牙功能的途径. ...
- Element-ui中为上传组件添加表单校验
vue所依赖的Element的UI库在使用其中的upload组件时,可能很大几率会遇到这个题,需要给upload组件添加表单校验 大家这里直接看代码就可以 <el-form-item class ...
- [日常] gocron源码阅读-go语言的变量
变量的声明形式是这样的 var 变量名字 类型 = 表达式var ( AppVersion = "1.5" BuildDate, GitCommit string)类型可以被省略, ...
- CentOS服务器apache绑定多个域名的方法
这篇文章主要为大家详细介绍了CentOS服务器apache绑定多个域名的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 Apache是最流行的HTTP服务器软件之一,其以快速.可靠(稳定) ...
- 5、zabbix数据库分离
环境: zabbix端:zabbix3.4(192.168.80.66) 数据库端:mysql5.7(192.168.80.88) 被监控端:web01(192.168.80.240) 为什么要将数据 ...