数据库的历史及常见基本功能

数据库的基本知识,MariaDB的基本知识,SQL语句

一、数据库的基本知识

1 数据库的发展:

萌芽阶段———文件系统:使用磁盘文件来存储数据

初级阶段———第一代数据库:出现了网状、层次模型的数据库

中级阶段———第二代数据库:关系型数据库和结构化查询语言

高级阶段———新一代数据库:“关系-对象”型数据库

2 数据库管理系统的基本功能:

数据定义

数据处理

数据安全

数据备份

3 数据库系统的架构:

单机架构

大型主机/终端架构

主从式架构(C/S)

分布式架构

4 关系型数据库:

关系:关系就是二维表

行row:表中的每一行,又称为一条记录

列column:表中的每一列,称为属性,字段

主键(Primary key):用于唯一确定一个记录的字段

域domain:属性的取值范围

5 关系数据库

RDBMS :

MySQL:MySQL, MariaDB, Percona Server

PostgreSQL: 简称为pgsql ,EnterpriseDB

Oracle:

MSSQL:

DB2:

事务transaction:多个操作被当作一个整体对待:

ACID:

A:原子性

C:一致性

I :隔离性

D:持久性

6 联系类型:

一对一联系(1:1)

一对多联系(1:n)

多对多联系(m:n)

7 数据结构:

一类是与数据类型、内容、性质有关的对象,比如关系模型中的域、属性和关系等;

另一类是与数据之间联系有关的对象,它从数据组织层表达数据记录与字段的结构

8 数据的操作:

数据提取:在数据集合中提取感兴趣的内容(SELECT)

数据更新:变更数据库中的数据(INSERT、DELETE、UPDATE)

9 范式:

1NF:无重复的列,每一个列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的                                 某个属性不能有多个值或者不能有重复发的属性。

2NF:属性完全依赖于主键,第二范式必须先满足第一范式,要求表中的每一个行必须可以被唯                                 一区分。通常为表加上一列,以存储各个实例的唯一标识PK,非PK的字段需要与整个PK                                 有直接相关性。

3NF:属性不依赖与其它非主属性,满足第三范式必须要满足第二范式。第三范式要求一个数据                                 库中不包含的非主关键字信息,非PK的字段间不能有从属关系

10 SQL概念:

SQL:Structure Query Language

结构化查询语言

SQL解释器:

数据库存储协议:应用层协议,C/S (S:server,监听于套接字,接受并处理客服端的应用请求)

二、MariaDB

1 MariaDB的特性:

单进程,多线程

插件式存储引擎:存储管理器有多种实现版本,用户可根据需要灵活选择

存储引擎也称为”表类型”

2 mariadb组包括下面包:

mariadb-server:mandatory package

mariadb-bench:optional package

mariadb-test:optional package

3 mariadb-client组包括下面包:

Mariadb:mandatory package

MySQL-python:default package

mysql-connector-odbc:default package

libdbi-dbd-mysql:option package

mysql-connector-java:optional package

perl-DBD-MySQL:optional package

4 配置文件:

/etc/my.cnf和/etc/my.cnf.d/*.cnf

5 MariaDB配置

倾听3306/tcp端口可以在绑定有一个或全部接口IP上

vim /etc/my.cnf

6 安装MariaDB

三、SQL语句

1 SQL语句构成

Keyword组成clause

多条clause组成语句

SELECT*         SELECT子句

FROM products  FROM子句

WHERE price >400 WHERE 子句

2 SQL语句分类:

DDL:Data Defination Language

CREATE ,DROP,ALTER

DML:  Data Manipulation Language

INSERT, DELETE, UPDATE

DCL:  Data Control Language

GRANT, REVOKE

DQL:  Data Query Language

SELECT

3 SQL语言规范

在数据库系统中,SQL语句不区分大小写

但字符串常量区分大小写

SQL语句可单行或多行书写,以;结尾

关键字不能跨多行书写或简写

用空格和缩进来提高语句的可读性

子句通常位于独立行,便于编辑,提高可读性

4 数据库对象的命名规则

必须以字母开头

可包括数字和三个特殊字符

不要使用MySQL的保留字

同一database(Schema)下的对象不能同名

5 数据库操作

创建数据库:

CREATE DATABASE|SCHEMA ‘DB_NAME’;

CHARACTER SET ‘character set name’

COLLATE ‘collate name’

删除数据库:

DROP DATABASE|SCHEMA ‘DB_NAME’

查看支持所有字符集:SHOW CHARACTER SET;

查看支持所有排序规则:SHOW COLLATION;

获取命令使用帮助: mysql >HELP KEYWORD;

查看数据库列表:mysql> SHOW DATABASES;

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/91364

(0)
zss123456zss123456
上一篇 2018-01-29 21:01
下一篇 2018-01-30 15:21

相关推荐

  • 进程查看及管理

        在Linux系统中,触发任意一个事件时,系统都会将它定义为一个进程,并且给予这个进程一个ID,称为PID,同时依据触发这个进程与用户相关的属性关系,给予这个PID一组有效的权限设置。 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。…

    Linux干货 2016-11-27
  • 深入理解java嵌套类和内部类

    一、什么是嵌套类及内部类   可以在一个类的内部定义另一个类,这种类称为嵌套类(nested classes),它有两种类型:静态嵌套类和非静态嵌套类。静态嵌套类使用很少,最重要的是非静态嵌套类,也即是被称作为内部类(inner)。嵌套类从JDK1.1开始引入。其中inner类又可分为三种:  其一、在一个类(外部类)中直接定义的内部类;  其二、在一个方法…

    Linux干货 2015-04-07
  • 第八周作业(网络、bash脚本)

    1-3,计算机网络基础博客已总结,简要补充 协议的分层 为了使那些比较复杂的网络协议更加简单化。ISO根据各通信协议的功能将网络体系分成七层。 在这个分层中,下层为上一层提供服务。上下层之间进行交互时所遵循的约定叫做“接口”。同层之间的交互所遵循的约定叫做“协议” 说的更形象一点,两个中国人打电话这个通信。就可以分为两层,同层之间的叫协议,我说汉语,你也说汉…

    Linux干货 2016-12-18
  • keepalived实现lvs高可用并负载均衡lamp

    一、安装lamp     1、安装httpd(172.16.23.211) [root@cs1 ~]# yum install -y httpd     2、安装php(172.16.23.211) [root@cs1 …

    Linux干货 2016-05-14
  • Homework Week-8 网络及脚本编程

    1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 设备 功能 使用场景 网桥 用于连接不同网段,将相似的网络连接起来,隔离信息。 连接不同部门间的局域网;连接地理位置分散并且相距较远的局域网,可以增加工作的物理距离;采用由网桥连接的多个局域网调节负载;网桥可以设置在局域网的关键部位,防止单点失常而破坏整个系统等。 集线器 对接收…

    Linux干货 2016-10-09
  • Linux的哲学思想

    Linux的哲学思想 一切皆文件 在linux中所有的一切,都是可以通过ls进行查询的到的,甚至可以说ll查看详细信息时表现形式为文件,所有的设备,所有的文件不论后缀,只是一个单纯文件通过vim可以编辑一切 单一目的的小程序,组合小程序完成复杂任务 在linux中,每一个命令都是对应一个功能,通过不同的参数来完成不同的要求,通过繁多的小的命令来完成大型的要求…

    Linux干货 2016-10-30