数据库知识点一(持续更新)

355 阅读4分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情

一、基本概念

1、数据

(1)数据的定义:对客观事物的符号表示,如图形符号、数字、字母等,数据是数据库中存储的基本对象。

(2)数据的种类:文字、图形、图像、声音

(3)数据的特点:数据与其语义是不可分的

 

2、数据库

 数据库(DataBase简称DB)是按照数据结构来组织、存储和管理数据的仓库。

 

3、数据库管理系统(比如:MySql)

(1)数据库管理系统(Database Management System 简称DBMS)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库。

(2)关系型数据库管理系统称为RDBMS,R指Relation。

(3)DBMS的作用:它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。

 

4、数据库系统

数据库系统(Database System,简称DBS),是由数据库及其管理软件组成的系统。

 

5、数据库管理员

数据库管理员(Database Administrator,简称DBA),负责全面管理和控制数据库系统。

 

6、DBA、DBMS、DB和DBS之间的关系

7、数据库的优点

(1)数据按一定的数据模型组织、描述和储存

(2)可为各种用户共享

(3)冗余度较小,节省存储空间

(4)易扩展,编写有关数据库应用程序

 

二、数据库管理系统(DBMS)

1、DBMS的主要功能

(1)数据定义功能:提供数据定义语言(DDL)

  用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列(有时是选键方法)、文件位置和存储策略,包括命令:

  DROP(删除数据库)

           删除数据库:drop database if exists 数据库名

  CREATE(创建数据库)

           创建表:create table if not exists 表名(列名 列名约束)

  ALTER(修改数据库)

           添加列名:alter table 表名 add 列名 约束条件

           修改列名:alter table 表名 change 老列名 新列名 数据类型

           修改列字段数据类型:alter table 表名 modity 列名 数据类型

           删除列名:alter table 表名 drop 列名

           修改表名:alter table 表名 rename 新表名

  GRANT(赋予权限)

  REVOKE(从当前用户或组中取消权限)、TRUNCATE(只删除表中的所有数据,不删除表的结构)

注意: truncate table命令将快速删除数据表中的所有记录,但保留数据表结构。这种快速删除与delete from数据表的输出全部数据表记录不一样,delete命令删除的数据将存储在系统回滚段中,需要的时候,数据可以回滚恢复,而truncate命令删除的数据是不可恢复的。

 

(2)数据操纵功能:提供数据操纵语言(DML)

操纵数据实现对数据库的基本操作:

  SELECT(查询)

          select from 表名 where 条件(条件1 and 条件2)

  INSERT(插入)

          insert into 表名(列1,列2) values(' ',' '),(' ',' '),(' ',' ')

  DELETE(删除)

          delete from 表名 where 条件

  UPDATE(修改)

          update 表名 set 列名=' ',列名=' ' where 条件

 

(3)数据库的运行管理

  a、保证数据的安全性、完整性

  b、多用户对数据的并发使用

  c、发生故障后的系统恢复

 

(4)数据库的建立和维护功能(实用程序)

  a、数据库数据批量装载

  b、数据库转储

  c、介质故障的修复

  d、数据库的重组织

  e、性能监视

 

2、DBMS的分类(大公司首选oracle-----数据库中的贵族)

  小型数据库:Access、foxbase、sqlite

  中型数据库:mysql、sql server、infomix

  大型数据库:Sybase、Oracle、db2

   

  注意:Mysql、SQL server、Oracle、DB2三者的特点

     Oracle:

         (1)最稳定、功能最强大、性能最好、容量无限、最昂贵、重量级,分布式数据库  系统,适用于大型的项目

       (2)"关系----对象"型数据库

       MySQL:

       (1)轻量级、易安装、易管理、速度比较快,使用起来方便,适用于中小型企业

       (2)开源、免费、与PHP组成经典的LAMP组合

       SQL Server:

       (1)针对不同用户群体的五个特殊的版本

       (2)易用性好

      DB2:

       (1)应用于大型应用系统,具有较好的可伸缩性

 

3、B/S和C/S

  B/S浏览器服务器Browser Server

    客户不需要安装程序,只需要有浏览器引擎即可:淘宝

  C/S客户端服务器Client Server

    客户需要安装程序,比如:QQ