数据库三大范式及sql的基础
来源:互联网 发布:韩顺平java spring视频 编辑:程序博客网 时间:2024/06/06 00:42
第一范式:确保每列的原子性
第二范式:每个表中的每列都与主键关联
第三范式:每列与主键直接关联,而不是间接关联。
范式是用来确定表是否需要拆分,列是否需要拆分。 数据库保存有组织的数据的容器(一个文件或者是一组文件)
表是某种特定类型数据的结构化清单。(同一种类型)。
模式schema是关于数据库和表的布局及特性的信息。
列column,表中的一个字段,所有表都是由一个或者多个列组成。 (如何正确的分解列非常重要,不仅是由于第一范式,而且当你需要某一个特定的列进行过滤或分类就很重要。)
行row是表中的一条记录。
主键:表中的行应该有一列或者几列唯一表示自己。 一列(一组列)其值可以唯一标识表中每一行。 应该总是定义主键。 主键的条件: 1、任意两行都不能具有相同主键值。 2、每一行都必须有主键(主键值不能为NULL) 3、主键列值不能修改或更新。 4、主键值不能重用。(例如当我们删除了某一行时,接下来新插入的行中不能用这个被删除的主键值)
联合主键用一组列作为主键。
SQL语句和大小写 对SQL语句关键字用大写,对表名列名使用小写,使得代码易于阅读和调试。
检索单列 SELECT Prod_name FROM Products;
检索多列 SELECT prod_id, prod_name, prod_price FROM Products;
SQL语句一般返回的是原始的,无格式的数据。数据的格式化是表示问题而不是检索问题。
检索所有的列 SELECT * FROM Products;
不是确定要输出所有的列时,不要用这个。SQL返回的原始的数据,返回给应用程序让应用程序去表示。
检索不同的值 SELECT DISTINCT vend_id FROM Products;
不能部分使用DISTINCT,DISTINCT关键字作用于所有列,不仅仅是跟在其后的一列。
除非指定的两列完全一样,否则所有的行都会被检索出来的。
限制结果 SELECT prod_name FROM Products LIMIT 5;
输出前5行 SELECT prod_name FROM Products LIMIT 5 OFFSET 5
输出从第6行开始的5行。LIMIT后带的是返回的行数,OFFSET是指定LIMIT从哪开始。 SELECT prod_name FROM Products LIMIT 5,5;
注意第一个被检索的是第0行。 SELECT prod_name FROM Products ORDER BY prod_name;
根据字母排序数据。
多列排序 SELECT prod_name, prod_id, prod_price FROM Products ORDER BY prod_price, prod_name;
按列位置排序 SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3;
指定排序方向 SELECT prod_id, prod_price, prod_name FROM Product ORDER BY prod_price DESC
降序。
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC, prod_name;
prod_price 按照降序;
prod_name按照升序。
字典排序 A被视为与a相同。
- 数据库三大范式及sql的基础
- sql数据库的三大范式总结
- 对数据库三大范式及BC范式的理解
- 数据库基础 数据库设计三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- 数据库的三大范式
- freemarker常见语法大全
- 判断网络是否连接工具类
- Sublime text3 增加插件
- 【zzuli-oj】-1895-985的0-1串难题(思维,好)
- Candence更新Allegro的Ref到OrCAD的步骤
- 数据库三大范式及sql的基础
- 序列化反序列二叉树
- java中pattern和matcher详解
- HDU 1536 S-Nim
- Log打印工具类
- jQuery操作input值的各种方法总结
- Python解析xml文件(二)
- emmc到底是什么?为什么会火?
- Java中普通代码块,构造代码块,静态代码块区别和优先级