数据库_数据库篇-第一章:数据库基本概念
基础知识学习,面试必备,关注吧 骚年
01 第一,什么是数据库?
维基百科上是这样定义的:
所谓“数据库”是以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。一个数据库由多个表空间(Tablespace)构成。
数据库就是一个存储结构化数据的仓库。
02 第二,数据库管理系统
数据库管理系统(Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。
数据库管理系统主要分为以下两类:2.1 关系数据库
关系数据库是创建在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均用关系模型来表示。
几乎所有的数据库管理系统都配备了一个开放式数据库连接(ODBC)驱动程序,令各个数据库之间得以互相集成。
典型代表有:MySQL、Oracle、Microsoft SQL Server、Access、PostgreSQL、DB2、MariaDB
2.2 非关系型数据库 NoSQL
非关系型数据库也被称为 NoSQL 数据库,NoSQL 并不是某个具体数据库,它泛指所有非关系型数据库。
非关系型数据库种类有很多,我们列举其中较为流行的几种。2.2.1、键值(Key-Value)存储数据库
键值数据库主要是使用一个哈希表,表中有一个特定的键和一个指针指向特定的数据。Key/value 模型的键值数据库的优势在于,通过键的 hash 码可以快速查询到 value,并且能够应对高并发。
市面上成熟的产品有,Memcached、Redis、MemcacheDB、Berkeley DB。前两个可能比较有名,做缓存的数据库。2.2.2、列存储(Column-oriented)数据库
列存储数据库又被称为面向可扩展性的分布式数据库,它反转了传统的行存储数据库。
先看一个普通表结构,表student
idnameage1aa212bb223cc23
传统的行存储数据库:
1aa212bb223cc23
列存储数据库:
123aabbcc212223
因为是以列字段作为作为表格的行,那么同一行记录取的就是该表中所有记录的的某一个列数据集合,必然是同一类型的数据,要么都是 int 类型,要么都是 varchar 类型。
行存储如果要取表中某一列的所有数据集合,就会复杂的多,所以在大部分场景下,列存储的解析过程更有利于分析大数据的数据分析。
当然了,这只是其中一个区别,他们之间的优劣对比有很多个方面,这里不可能都进行列举,你们可以自行去搜索了解。
最典型的产品应用就是,Hbase,大数据存储用的非常多。2.2.3、面向文档数据库
文档数据库是一种非关系数据库,旨在将半结构化数据存储为文档,其中文档包括 XML、YAML、JSON、BSON、office 文档等。
简而言之,就是将数据保存到以上类似格式的文档中,数据库中的每个记录都是以文档形式存在的,相互之间不再存在关联关系。
典型的应用就是,MongoDB、CouchDB。
03 第三,数据库架构
数据库的架构可以大致区分为三个概括层次:内层、概念层和外层。
内层:最接近实际存储体,亦即有关数据的实际存储方式。
外层:最接近用户,即有关个别用户观看数据的方式。
概念层:介于两者之间的间接层
04 第四,SQL简介
1,SQL
SQL(Structured Query Language 结构化查询语句)是一种特定目的程序语言,用于管理关系数据库管理系统(RDBMS),或在关系流数据管理系统(RDSMS)中进行流处理。
SQL基于关系代数和元组关系演算,包括一个数据定义语言和数据操纵语言。SQL的范围包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。2,SQL语法简介
2.1 运算符
2.2 查询
SQL中最常见的操作是查询,它是通过陈述性SELECT语句执行的。SELECT从一个或多个表或表达式中检索数据。
SELECT是最复杂的SQL语句,可选的关键词和子句包括:
select * from student where id=1;
查询可以嵌套,以便一个查询的结果可以通过关系运算符或聚合函数在另一个查询中使用。嵌套查询也称为子查询:
select * from student where id in (select id from student where age<23);
2.3 空值与三值逻辑
SQL中引入了空值的概念,用来处理关系模型中缺少信息的情况。NULL一词表示空白值,是SQL中的保留词。如果Null进行比较,例如在WHERE子句中使用“=”判断相等,那么会返回未知值,而SELECT语句只会返回WHERE子句条件为真(TRUE)的结果,不会返回条件为假(FALSE)或未知的结果。
“真”、“假”以及与空值直接比较时所得到的“未知”共同组成了SQL的three-valued logic 三值逻辑
由于直接与空值比较会返回未知,因此SQL又提供了两个用于测试空值的语句:IS NULL和IS NOT NULL
2.4 数据类型
一张表中的每个字段都要定义该字段的类型。ANSI SQL包括下列数据类型:
2.5 数据定义
数据定义语言(DDL)管理表和索引结构。DDL的最基本是CREATE、ALTER、RENAME、DROP和TRUNCATE语句:
CREATE在数据库中创建一个对象(例如一张表)
create table teacher(id int,name varchar(50),primary key id);
ALTER以不同方式修改现有对象的结构,例如向现有的表或约束添加字段:
alter table teacher add age int not null;
TRUNCATE以一种非常快速的方式删除表中的所有数据,删除表内的数据而不是表本身
truncate table teacher;
DROP删除数据库中的对象,通常无法挽回的,即,它不能被回滚
drop table teacher;
2.6 数据操作
数据操纵语言(DML)是SQL用于添加、更新和删除数据的子集:
INSERT添加行(正式名称为元组)到一个现有的表
insert into teacher(id,name,age) values(1,'张老师',32);
UPDATE修改现有的表中一些行
update teacher set id=33 where id=1;
DELETE从表中删除现有的行
delete from teacher where age>60;2.7 数据控制
数据控制语言 (Data Control Language, DCL) 授权的用户访问和操作的数据。它的两个主要的语句是:
GRANT:授权的一个或多个用户执行在一个对象上的一个操作或者一组操作。
REVOKE:消除了授权,其可以是默认的授权。
grant select on teacher to xiaoming;
revoke select on teacher from xiaoming;
数据库_数据库篇-第一章:数据库基本概念相关推荐
- 【数据库】第一章 数据库的分类、SQL、数据库、表和表记录的常用操作
[数据库]第一章 数据库的分类.SQL.数据库与表的常用操作 文章目录 [数据库]第一章 数据库的分类.SQL.数据库与表的常用操作 一.数据库的分类 1.关系型数据库 2.非关系型数据库 3.MyS ...
- 计算机三级数据库技术——第一章 数据库应用系统开发方法学习笔记
第一章 数据库应用系统开发方法 概述 数据库应用系统 术语 英文缩写 含义 数据库系统 DBS 数据的组织,存储,访问等数据管理功能 数据库应用系统 DBAS 数据管理之外,通过数据库应用程序的数据处 ...
- 第二篇第一章概述及第二章生产和储存物品的火灾危险性分类 重点在于表格...
2019/1/4 [录播]2018一消精华班-实务-一级消防工程师-环球网校 http://v.edu24ol.com/?type=lesson&id=178923&gid=16157 ...
- 第一篇第一章燃烧的基础知识
2019/1/3 [录播]2018一消精华班-实务-一级消防工程师-环球网校 http://v.edu24ol.com/?type=lesson&id=178941&gid=16157 ...
- JavaWeb --第一章Web基本概念
JavaWeb --第一章Web基本概念 文章目录 基本概念 前言 web开发: web应用程序 静态web 动态web web服务器 技术讲解 web服务器 基本概念 前言 web开发: web,网 ...
- 项目管理---第一章 项目管理的概念
文章目录 第一章 项目管理的概念 一.项目与软件项目 二.项目管理与软件项目管理 三.项目管理知识体系 四.过程管理与软件项目管理的关系 五.软件项目管理过程 六.管理涉及的范围 第一章 项目管理的概 ...
- 【正点原子Linux连载】第一章 应用编程概念-摘自【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.1
1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...
- 20190813 On Java8 第一章 对象的概念
第一章 对象的概念 抽象 Alan Kay 总结了对象的五大基本特征 万物皆对象. 程序是一组对象,通过消息传递来告知彼此该做什么. 每个对象都有自己的存储空间,可容纳其他对象. 每个对象都有一种类型 ...
- 第一章图像处理基础概念(人眼和光)
系列文章目录 第一章 图像处理基础概念 第二章 常见算法处理 第三章 灰度变化 第四章 空间滤波 第五章 频域滤波 第六章 色彩基础 第七章 小波和多分辨率 第八章 图像表示和描述 第九章 形态学图像 ...
最新文章
- 摄像头自动曝光_OPPO新专利曝光:手写笔不仅仅只是手写笔 它还是手机的额头...
- SSL、SSH、OpenSSH、OpenSSL 区别
- poj 1160(Post Office)
- 如何在Debian上安装配置ownCloud
- D3---01基础的柱状图制作(转)
- 1.ELF之Elf Header
- java面试compareble_Java(面试必备):30 个 Java 集合面试问题和答案
- [Email] 收发邮件的协议 : IMAP and SMTP , POP3 and SMTP
- mysql genlog 分析_使用mysqlsla 分析 mysql logs
- 【分层图最短路】通信线路
- 解决XeLaTex编译后中文出现乱码的问题
- 如何把cad转换成jpg软件操作
- 用创业思维复盘:写技术博客到出书
- python自动化办公-提取excal表格某列数据
- python计算卡方值代码,python 基于卡方值分箱算法的实现示例
- IDEA快速换行快捷键
- 【移动端网页布局】移动端网页布局基础概念 ① ( 移动端浏览器 | 移动端屏幕分辨率 | 移动端网页调试方法 )
- SAP-MM知识精解-常见报表汇总(01)
- Android免费小说阅读器—程序员自己的阅读器,没广告,所有小说可搜索,专注阅读体验
- 关于Windows 7下的DEP(数据执行保护)