本篇魔镜为大家介绍数据库与SQL
数据库 & SQL
- 数据库(DataBase, DB):保存有组织的数据的容器(通常是一个文件或一组文件)
- 数据库管理系统(DataBase Management System, DBMS):数据库软件
- 关系型数据库(Relational DBMS, RDBMS):以表结构存储数据的数据库
- SQL(Structured Query Language):编程语言。操作RDBMS,统一标准
-
DB是通过 DBMS 创建和操纵的容器
-
主流的RDBMS:Oracle(贵), MySQL(社区版免费), PostgreSQL(免费), Microsoft SQL Server, IBM Db2, SQLite, Microsoft Access, Hive …
-
SQL是RDBMS的编程语言
-
绝大多数RDBMS支持SQL
-
标准SQL:ANSI SQL(由 ANSI 标准委员会管理)
(1)表、列、数据类型、行
- 表(table):某种特定类型数据的结构化清单
- 列(column):表中的一个字段
- 行(row):表中的一条记录
- 模式(schema):关于数据库和表的布局及特性的信息
- 数据类型(datatype):允许什么类型的数据
-
数据库名+表名 是唯一的
-
每个表列都有相应的数据类型,它限制(或允许)该列中存储的数据。还帮助正确地分类数据,并在优化磁盘使用方面起重要的作用
-
到底叫“记录”还是“行”?答:这两个多半互通,但技术上“行”是正确术语
(2)主键
- 主键(primary key):一列(或几列),其值能够唯一标识表中每一行
如:订单ID(订单表),学生ID(学生表)……
没有主键,更新或删除表中特定行就极为困难。虽然并不总是需要主键,但多数数据库设计者都会保证他们创建的每个表具有一个主键,以便于以后的数据操作和管理。
成为主键的条件:
-
主键值唯一(使用多列作为主键时,列值的组合必须唯一,其中单列的值可以不唯一)
-
主键值不能为空值NULL
-
主键值不允许更改或更新
-
删除某行后,该主键值不能赋给新行(主键值不能重复使用)
(3)SQL学习怎么选择RDBMS?
-
免费:MySQL(下载安装详见:MySQL的安装、启动/停止/连接、卸载)、Microsoft SQL Server Express(windows用户)。
-
远程/云端:公司的DBMS、Live SQL(Oracle)、云端DB2(IBM)。一般云端DBMS比单机更费事,不建议。
不总结=白学
THE END