当前位置:网站首页>数据库基础
数据库基础
2022-08-11 09:10:00 【奇怪的蘑菇】
数据库基础
一.什么是数据库
1.数据库的种类
数据库大体上分为两种:关系型和非关系型
关系型:
关系型数据库就是基于关系模型的数据库系统,而关系模型的数据结构就是简单的二维表
非关系型:
非关系数据库也被称作NoSQL (Not Only SQL),存储数据不以关系模型为依据,不需要固定的表格式
优缺点:
关系型 | 非关系型 | |
---|---|---|
存储方式 | 字段和记录对对象信息和属性的描述 | 键值对 |
查询速度 | 格式固定且支持sql查询方便 | 数据结构相对复杂,复杂查询方面稍欠 |
读写速度 | 受限于只能在磁盘中存储,读写速度受磁盘I/O影响 | nosql可以使用硬盘或者随机存储器作为载体速度相对来说快 |
存储格式 | 固定的表结构,灵活度稍欠只支持基础类型。 | 格式灵活:存储数据的格式可以是key,value形式、文档形式、图片形式等等,文档形式、 图片形式等等 |
事务处理 | 支持事务处理 | 不支持事务处理 |
2.基本概念
数据:
- 描述事物的符号记录
- 包括数字,文字、图形、图像、声音、档案记录等
- 以“记录”形式按统一的格式进行存储
表:
- 将不同的记录组织在一起
- 用来存储具体数据
数据库:
- 表的集合,是存储数据的仓库
- 以一定的组织方式存储的相互有关的数据集合数
数据库管理系统(DBMS):
数据库管理系统(Database Management System,DBMS)是实现对数据库资源有效组织、 管理和存取的系统软件。它在操作系统的支持下,支持用户对数据库的各项操作。DBMS 主要包括以下功能。
数据库的建立和维护功能:包括建立数据库的结构和数据的录入与转换、数据库的 转储与恢复、数据库的重组与性能监视等功能。
数据定义功能:包括定义全局数据结构、局部逻辑数据结构、存储结构、保密模式 及信息格式等功能。保证存储在数据库中的数据正确、有效和相容,以防止不合语 义的错误数据被输入或输出。
数据操纵功能:包括数据查询统计和数据更新两个方面。
数据库的运行管理功能:这是数据库管理系统的核心部分,包括并发控制、存取控 制、数据库内部维护等功能。
通信功能:DBMS 与其他软件系统之间的通信,如 Access 能与其他 Office 组件进行 数据交换
3.关系型数据库理论
实体Entity:客观存在并可以相互区分的客观事物或抽象事件称为实体,在E-R图中用矩形框表示实
体,把实体名写在框内
属性:实体所具有的特征或性质
联系:联系是数据之间的关联集合,是客观存在的应用语义链
• 实体内部的联系:指组成实体的各属性之间的联系。如职工实体中,职工号和部门经理号之间
有一种关联关系
• 实体之间的联系:指不同实体之间联系。例:学生选课实体和学生基本信息实体之间
• 实体之间的联系用菱形框表示
二.Mysql和SQL语句
1.mysql的组成
客户端程序
mysql: 交互式的CLI工具
mysqladmin:基于mysql协议管理mysqld
mysqlimport:数据导入工具
MyISAM存储引擎的管理工具:
myisamchk:检查MyISAM库
myisampack:打包MyISAM表,只读
服务器端程序
mysqld_safe
mysqld
mysqld_multi 多实例 ,示例:mysqld_multi
2.SQL分类
数据库:database
表:table,行:row 列:column
索引:index
视图:view
存储过程:procedure
存储函数:function
触发器:trigger
事件调度器:event scheduler,任务计划
用户:user
权限:privilege
3.SQL语言规范
在数据库系统中,SQL 语句不区分大小写,建议用大写
SQL语句可单行或多行书写,默认以 " ; " 结尾
关键词不能跨多行或简写
用空格和TAB 缩进来提高语句的可读性
子句通常位于独立行,便于编辑,提高可读性
数据库对象和命名
数据库的组件(对象):
数据库、表、索引、视图、用户、存储过程、函数、触发器、事件调度器等
命名规则:
必须以字母开头,后续可以包括字母,数字和三个特殊字符(# _ $)
不要使用MySQL的保留字,如tabble select show databases
SQL语句分类
DDL: Data Defination Language 数据定义语言
CREATE,DROP,ALTER
DML: Data Manipulation Language 数据操纵语言
INSERT,DELETE,UPDATE
软件开发:CRUD
DQL:Data Query Language 数据查询语言
SELECT
DCL:Data Control Language 数据控制语言
GRANT,REVOKE
TCL:Transaction Control Language 事务控制语言
COMMIT,ROLLBACK,SAVEPOINT
4.SQL数据类型
数据类型 | 含义 |
---|---|
int | 整形 |
float | 单精度浮点型 |
double | 双精度浮点型 |
char | 固定长度字符 |
varchar | 可变长度字符类型 |
text | 文字 |
image | 图片 |
decimal(5,2) | 5个有效长度数字,小数点后面有2位 |
varchar | 可变长度字符类型 |
| text | 文字 |
| image | 图片 |
| decimal(5,2) | 5个有效长度数字,小数点后面有2位 |
边栏推荐
- 2022-08-10:为了给刷题的同学一些奖励,力扣团队引入了一个弹簧游戏机, 游戏机由 N 个特殊弹簧排成一排,编号为 0 到 N-1, 初始有一个小球在编号
- DataGrip配置OceanBase
- 持续集成/持续部署(2)Jenkins & SonarQube
- MySql的索引
- 【无标题】超时超时超时超时超时
- YTU 2297: KMP模式匹配 三(串)
- Notable NFT development trends in 2022
- tensorflow 基础操作1(tensor 基本属性 , 维度变换,数学运算)
- 软件定制开发——企业定制开发app软件的优势
- js将table生成excel文件并去除表格中的多余tr(js去除表格中空的tr标签)
猜你喜欢
tensorflow 基础操作1(tensor 基本属性 , 维度变换,数学运算)
单元测试系统化讲解之PowerMock
mysql数据查询因为查询的时间跨度过大导致cup爆满应该怎么办
Alibaba Sentinel - Slot chain解析
持续集成/持续部署(2)Jenkins & SonarQube
A few days ago, Xiaohui went to Guizhou
[wxGlade learning] wxGlade environment configuration
MySQL select count(*) count is very slow, is there any optimization solution?
SDUT 2877:angry_birds_again_and_again
What should I do if the mysql data query causes the cup to be full because the query time span is too large
随机推荐
CreateJS加速地址
pycharm cancel msyql expression highlighting
新一代开源免费的轻量级 SSH 终端,非常炫酷好用!
自定义卷积核的分组转置卷积如何实现?
canvas图片操作
WiFi cfg80211
游戏服务器中集群网关的设计
2022-08-10:为了给刷题的同学一些奖励,力扣团队引入了一个弹簧游戏机, 游戏机由 N 个特殊弹簧排成一排,编号为 0 到 N-1, 初始有一个小球在编号
磁盘管理:磁盘结构
三次握手与四次挥手
DataGrip配置OceanBase
for循环和单击相应函数的执行顺序问题
阿里云OSS上传文件超时 探测工具排查方法
Redis的客户端连接的可视化管理工具
canvas文字绘制(大小、粗体、倾斜、对齐、基线)
【wxGlade学习】wxGlade环境配置
基于 VIVADO 的 AM 调制解调(3)仿真验证
canvas图形操作(缩放、旋转、位移)
观察表情和面部,会发现他有焦虑和失眠的痕迹
深度学习100例 —— 卷积神经网络(CNN)识别验证码