当前位置:网站首页>Database Basics
Database Basics
2022-08-11 09:24:00 【strange mushroom】
数据库基础
一.什么是数据库
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位 |
边栏推荐
猜你喜欢
Primavera P6 Professional 21.12 登录异常案例分享
The no-code platform helps Zhongshan Hospital build an "intelligent management system" to realize smart medical care
WooCommerce电子商务WordPress插件-赚美国人的钱
深度学习100例 —— 卷积神经网络(CNN)识别眼睛状态
Validate the execution flow of the interceptor
Three handshakes and four waves
通过Xshell连接Vagrant创建的虚拟机
pycharm cancel msyql expression highlighting
dsu on tree(树上启发式合并)学习笔记
HDRP Custom Pass Shader 获取世界坐标和近裁剪平面坐标
随机推荐
mysql中查询多个表中的数据量
深度学习100例 —— 卷积神经网络(CNN)识别验证码
1.3版本自定义TrainOneStepCell报错
基于hydra库实现yaml配置文件的读取(支持命令行参数)
halcon实例
WordpressCMS主题开发02-制作顶部header.php和footer.php
观察表情和面部,会发现他有焦虑和失眠的痕迹
oracle使用online_catalog收集数据,想看下online_catalog模式修改表字
What should I do if the mysql data query causes the cup to be full because the query time span is too large
Typora和基本的Markdown语法
wordpress插件开发03-简单的all in one seo 插件开发
Go 语言的诞生
Adobe LiveCycle Designer 报表设计器
excel将数据按某一列值分组并绘制分组折线图
snapshot standby切换
【剑指offer】左旋字符串,替换空格,还有类题!!!
Network model (U - net, U - net++, U - net++ +)
Segmentation Learning (loss and Evaluation)
Software custom development - the advantages of enterprise custom development of app software
Typescript基本类型---下篇