数据库基本知识

                                                   数据库

一.定义

高效的存储和处理数据的介质(磁盘和内存)。

二.主流数据库

微软:SQL Sever和access       SQL Sever具有使用方便、伸缩性好、与相关软件集成程度高优点。与.Net平台搭配使用(.mdf,.ldf日志文件) access(*.mdb)

瑞典MySQL:AB公司mysql         并发性好,不适合做复杂的业务,对简单的SQL处理效果好。(数据文件:.myd;索引文件:.MYI;表定义文件:.frm)

IBM公司:informix

美国oracle公司:oracle             能在所有主流平台上运行(包括Windows),采用完全开放策略。在兼容性、可移植性、可联结性、高生产率上、开放性存在优点

PostgreSQL:加州大学伯克利分校计算机系开发的关系数据库,可以免费使用、修改和分发(私用、商用、学术研究使用)。

SQLite:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百k内存就够了。

H2:是一个用JAVA开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

小型数据库:access、foxbase

中型数据库:sql sever、mysql、informix

大型数据库:db2(索引数据.inx大对象)、Oracle(.*DBF *.ora表空间数据文件)、Sybase

三、MySQL基本使用

1.服务器:

服务器管理:执行win+r输入services.msc打开服务管理器可控制对应服务的停止、暂停、重启动

2.数据库MySQL连接服务器

输入:

注:如果没有写-h 192.168.43.250默认是连接本地;如果没有写-P 3306默认是连接3306端口号

输出:

3.服务器、数据库、表关系

关系图:

所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。

四、MySQL架构

整体逻辑架构:

模块组成:

五、存储引擎(MySQL的核心是插件式存储引擎)

1.定义:数据库管理系统如何存放数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

2.查看存储引擎

3.各类存储引擎

类型MyISAMBDBMemoryInnoDBArchiveNDB
Storage Limits(储存限制)

No

No

Yes

64TB

No

Yes

Transactions(commit,rollback,etc.)(事务管理)

 

 

  
Locking granularityTablePageTableRowRowRow
MVCC/Snapshot Read(快照读取)   

Geospatial support(地理位置)

 

 

 

 

 

B-Tree indexes(B树索引)

 

Hash indexes(哈希索引)

 

 

 

Full text search index(全文搜索)

 

 

 

 

 

Clustered index(集群索引)

 

 

 

 

Data Caches(数据缓存)

 

 

 

index Caches(索引缓存)

 

 

Compressed data(压缩数据)

 

 

 

 

Encrypated data(via function)(加密数据)

Storage cost(space used)(存储消耗)LowLowN/AHighVery LowLow
Memory cost(内存占有量)LowLowMediumHighLowHigh
Bulk insert SpeedHighHighHighLowVery HighHigh
Cluster database support(集群数据库支持)

 

 

 

 

 

Replication support(复制支持)

Foreign key support(外键支持)

 

 

 

 

 

Backup/Point-in-time recovery(备份实时恢复)

Query cache support(查询缓存支持)

Update Statistics for Data Dictionary(数据字典更新统计)

六、SQL分类

1.DDL数据定义语言:用来维护存储数据的结构(create、drop、alter)

2.DML数据操纵语言:用来对数据进行操作(insert、delete、update)

   包含:DQL数据查询语言(select)

3.DCL数据控制语言:主要负责权限管理和事物(grant、revoke、commit)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值