数据库:
按照数据结构来组织 存储和管理数据的一种建立在计算机存储设备上的仓库
数据库优势:
1.可以持久化存储大量的数据、方便我们进行检索
2.可以保证数据的安全和数据的一致性
3.可以很轻松的通过数据库来提取出新的有效信息
RDB(Relational DateBase) 是 关系型数据库
例如:在关系型数据库中 有一张存储了数据的表格 还有一张存储了学生年级的表格
性能方面 关系型数据库受限于技术实现,所以有瓶颈 但它在安全方便比较可靠 (事物支持好)
NoSQL(Not only SQL)不仅仅是SQL 是 非关系型数据库 例如:文档型数据库 、 键值对数据库 (key value)、 图形数据库…
它这种概念正式兴起于web2.0时代 2006-2009…
性能方面 非常优异,但是它的安全方面要比较差。(事物支持不太好)
RDB: MySQL Oracle SQLServer PostgreSQL MariaDB SQLlite…
NoSQL: Redis Memcached MongoDB HBase Solr ElasticSearch…
数据库是基本单位
数据表是数据库的基本单位
例如:我们需要开发一个小说阅读器,它需要存储小说、分类、用户…信息。 创建一个小说阅读器的数据库:sun_reader_db 在sun_reader_db中创建小说表、分类表、用户表(二维表)
SQL: (Structured Query Language )结构化查询语言,它也是一种规范、标准。 我们的关系型数据库都是采用SQL来进行操作的,不同的数据库队SQL进行了一些改造,但是类似 CRUD
DDL: 数据定义语言 创建Create 删除Drop 修改Alter table… DML: 数据操作语言 CUD 增Insert 删Delete 改Update DQL: 数据查询语言 Select 查询 DCL: 数据控制语言 Grant、Roll back、commit…
主键:能够唯一标识信息表中的一条啊数据的字段/字段组
Alter Table 表名 Add Consistent 主键名 Primary key 表名(主键字段名)
ALTER TABLE school_stu ADD CONSTRAINI pk_stu_stuID PRIMARY KEY school_stu(stuID);外键:在一张表中的某个字段引用的数据来自另一张表的某个字段信息
主表: 它的主键一般是需要被从表引用 从表: 在其中拥有外键,可以引用主表的主键信息
grade 主表 student 从表
实现物理外键 通过SQL语句将外键绑定好 可以保证数据一致性
ALTER TABLE school_stu() ADD CONSTRAINT fk_stu_grade FOREIGN KEY (gradeId) REFERENCES grade(gradeId);为了能方便我们进行数据表操作 在实际项目中一般不设置物理外键,而设置逻辑外键