数据库基础

数据库基础

1.什么是数据库
数据库:database
高效的存储和处理数据的介质(磁盘和内存)

2.数据库分类
根据存储介质:

  • 关系型数据库:SQL
  • 非关系型数据库:NoSQL(Not Only SQL)

3.不同的数据库阵营中的产品有哪些?
关系型数据库:

  • 大型:Oracle,DB2
  • 中型:SQL-SERVER,Mysql等
  • 小型:access等
    非关系型数据库:memcached,mongodb,redis(同步到磁盘)

4.两种数据库阵营的区别?
关系型数据库:安全(保存到磁盘基本不可能丢失),容易理解,比较浪费空间(二维表,没数据还是有表格存在)
非关系型数据库:效率高,不安全(断点丢失)

关系型数据库 ——维护实体内部,实体与实体之间的关系

  1. 定义:是一种建立在关系模型(数学模型)上的数据库
    关系模型
    ——>数据结构:数据存储的问题,二维表(行和列)
    ——>数据指令集合:所有SQL语句
    ——>完整性约束:表内数据约束(字段与字段),表与表之间约束(外键)
  2. 关系型数据库设计
    ---数据需求分析:
    一类数据(实体):—— 二维表(数据名字和实际存储数据单元
表头 字段名1 字段名2
数据单元 数据1 数据2

举例关系型数据库设计:
教务系统
学生表
班级表

关键字

DBS=DBMS+DB
数据库:database
数据库系统:DBS(Database System):是一种虚拟系统,将多种内容关联起来的称呼
DBMS:Database Management,数据库管理系统,专门管理数据库
DBA:Database Administrator,数据库管理员
行/记录:row/record,本质是一个东西:表中的一行(一条记录)。行从结构角度出发,记录从数据角度出发
列/字段:column/field,本质是一个东西


SQL

SQL:Structured Query Language,结构化查询语言(因为大多在查询99%)
SQL分3部分:

  • DDL:Data Definition Language,数据定义语言,用来维护存储数据的结构(数据库,表),指令代表:create,drop,alter等
  • DML:Data Mainpulation Language,数据库操作语言,用来对数据进行操作(数据表中的内容),代表指令:insert,delete,update等。其中DML内部又分了一个=>DQL(Data Query Languager:数据查询语言,如:select)
  • DCL:Data Control Language,数据控制语言,主要负责权限管理(用户),指令代表:grant,revoke等

SQL是关系型数据库的操作指令,是一种约束,但不强制。


持久化和序列化,transient关键字

1. 持久化(Persistence):持久化是将程序数据在持久状态和瞬时状态间转换的机制。通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化至数据库中,能够长久保存)。

通过输入输出流实现:

  • java.io.ObjetOutputStream
  • java.io.ObjectInputStream

2. 序列化:在数据储存与传送的部分是指将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等,或者透过网络传送资料时进行编码的过程,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象。这程序被应用在不同应用程序之间传送对象,以及服务器将对象储存到档案或数据库。相反的过程又称为反序列化。

通过继承接口实现:

  • Serializable
  • Externlizable

3. transient关键字:
transient修饰的关键字将不会被序列化,静态变量不论是否有transient关键字修饰都不参与序列化。

你可能感兴趣的:(数据库基础)