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

数据库的基本知识,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

相关推荐

  • N22-℡浮生.若夢 ╮第四周作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel/ /home/tuser1 ~]# chmod -R 700 /home/tuser1 ~]#&nbsp…

    Linux干货 2016-09-19
  • Linux下的SSH端口转发

    通常情况下两个不同的网络之间总会开放某一些特定的端口用于通讯使用,而SSH所使用的22端口通常就在开放之列。基于SSH的端口转发就是利用SSH作为中间的代理,达到绕过两个网络之间的限制,顺利的进行任意的端口的访问。端口转发可以分为三种,正向端口转发,反向端口转发和动态端口转发。为了演示这三种端口转发方式的用法我们先假设存在有2个网域Office和Prod,在…

    Linux干货 2015-02-09
  • N26-第五周作业

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep ‘^[[:space:]]\+’ /boot/grub2/grub.cfg 2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep ‘^#[[:space:]]\+’ /etc/rc.d/rc.…

    Linux干货 2017-03-06
  • until 练习题

    一、用until实现下列作业 1、每隔3秒钟到系统上获取已经登录的用户的信息;如果发现用户hacker登录,则将登录时间和主机记录于日志/var/log/login.log中,并提示该用户退出系统。   2、随机生成10以内的数字,实现猜字游戏,提示比较大或小,相等则退出 3、编写脚本,求100以内所有正整数之和   4、编写脚本,通过p…

    Linux干货 2016-08-17
  • 马哥教育网络班20期+第七周博客作业

    1、创建一个10G分区,并格式为ext4文件系统     (1) 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl fdisk /dev/sdbnp1110Gw[root@llww3317 ~]# mke2fs -t ext…

    Linux干货 2016-08-02
  • 马哥教育网络班22期+第7周课程练习 忍者乱太郎喻成

    第七周 1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    我个人比较喜欢使用交互式的分区工具fdisk    我以fdisk为例: &n…

    Linux干货 2016-11-21