目录
数据(Data)
表
数据库
DBMS功能:
第一代数据库
第二代数据库
第三代数据库
- 第二代数据库 关系型数据库 以表格形式存储 行--列
- 第三代数据库 非关系型数据库 以文档,图片,键值对,标签,序列等。诞生了文档型数据库,索引型,时间序列
关系数据库系统是基于关系模型的数据库系统
关系模型的数据结构使用简单易懂的二维数据表
关系数据库的存储结构是二维表格在每个二维表中
关系模型可用简单的"实体-关系"(E-R)图来表示
E-R图中包含了实体(数据对象)、关系和属性三个要素
实体 | 属性 | 联系 |
---|---|---|
也称为实例,对应现实世界中可区别与其他对象的“事件”或“事物“ | 实体所具有的某一特性,一个实体可以有多个属性 | 实体集之间的对应关系称为联系,也称为关系 |
例如银行客户、银行账户等 | 例如“银行客户”实体集中的每个实体均具有姓名、住址、电话等属性 | 例如银行客户和银行账户之间存在“储蓄”的关系 |
所有实体和实体之间联系的集合构成一个关系数据库
关系型数据库 | 应用举例 |
---|---|
Oracle, MySQL | 12306用户信息系统 |
SQLServer、Sybase | 淘宝账号系统 |
lnformix、access | 联通手机号信息系统 |
DB2、FoxPRO | 银行用户账号系统 |
PostgreSQL | 网站用户信息系统 |
编号 | 学科 |
1 | JAVA |
2 | Web |
3 | Linux |
4 | Data |
优势
劣势
- #!/bin/bash
- #编译安装Mysql服务
- #使用脚本前注意事项:
- #1、请设置好yum源仓库
- #2、请在/opt目录下放入mysql-boost-5.7.20.tar.gz安装包
-
- #编写安装mysql的函数
- MySQL() {
-
- #关闭系统防火墙和安全机制
- systemctl stop firewalld
- systemctl disable firewalld
- setenforce 0
-
- #安装环境依赖包
- yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake
-
- #创建运行用户
- useradd -M -s /sbin/nologin mysql
-
- #编译安装
- cd /opt
- tar xzvf mysql-boost-5.7.20.tar.gz
-
- cd /opt/mysql-5.7.20/
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
- -DSYSCONFDIR=/etc \
- -DSYSTEMD_PID_DIR=/usr/local/mysql \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DWITH_EXTRA_CHARSETS=all \
- -DWITH_INNOBASE_STORAGE_ENGINE=1 \
- -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
- -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
- -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
- -DMYSQL_DATADIR=/usr/local/mysql/data \
- -DWITH_BOOST=boost \
- -DWITH_SYSTEMD=1
-
- #编译及安装
- make && make install
-
- #修改mysql 配置文件
- echo '[client]
- port = 3306
- socket=/usr/local/mysql/mysql.sock
- [mysqld]
- user = mysql
- basedir=/usr/local/mysql
- datadir=/usr/local/mysql/data
- port = 3306
- character-set-server=utf8
- pid-file = /usr/local/mysql/mysqld.pid
- socket=/usr/local/mysql/mysql.sock
- bind-address = 0.0.0.0
- skip-name-resolve
- max_connections=2048
- default-storage-engine=INNODB
- max_allowed_packet=16M
- server-id = 1
- sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES' > /etc/my.cnf
-
-
- #更改mysql安装目录和配置文件的属主属组
- chown -R mysql:mysql /usr/local/mysql/
- chown mysql:mysql /etc/my.cnf
-
- #设置路径环境变量
- echo "export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib">> /etc/profile
- source /etc/profile
-
- #初始化数据库
- cd /usr/local/mysql/bin/
- ./mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
-
- #添加mysqld系统服务
- cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
-
- systemctl daemon-reload
- systemctl start mysqld.service
- systemctl enable mysqld
- }
-
-
- #主体代码
- ls /opt | egrep "^mysql-boost-5.7.20.tar.gz$"
- if [ $? -eq 0 ];then
- #调用函数安装mysql
- MySQL
- echo "数据库安装完毕,请设定root用户登录码。"
- echo "例如:输入“mysqladmin -u root -p password "123456" ” + 回车;回车"
-
- else
- echo -e "请将安装包mysql-boost-5.7.20.tar.gz放入/opt目录下"
- #如果没有就终止
- break
- fi