数据库基础

1.什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库;

数据库,简单来说是本身可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作;

数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集合;

数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合;

2.数据库的基本结构

数据库的基本结构从用户视图来看分三个层次,反映了观察数据库的三种不同角度。

以内模式为框架所组成的数据库叫做物理数据库;以概念模式为框架所组成的数据叫概念数据库;以外模式为框架所组成的数据库叫用户数据库。

⑴ 物理数据层。

它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成。

⑵ 概念数据层。

它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

⑶ 用户数据层。

它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。

数据库不同层次之间的联系是通过映射进行转换的。

从数据库管理系统的角度来看,分为集中式结构、分布式结构、客户/服务器结构、并行结构;

从数据库系统应用的角度来看,常见的有B/S(浏览器/服务器结构)和C/S(客户端/服务器)结构;

3.数据库的主要特点

⑴ 实现数据共享

⑵ 减少数据的冗余度

⑶ 数据的独立性

⑷ 数据实现集中控制

⑸数据一致性和可维护性,以确保数据的安全性和可靠性

⑹ 故障恢复

4.数据库结构类型

层次结构模型数据库;

网状结构模型数据库;

关系结构模型数据库:使用二维表格来存储数据;

关系-对象模型数据库;

MySQL就是关系型数据库!

5.数据库发展阶段

人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段

6.常见数据库

Oracle(神喻):甲骨文(市场占有率最高!);

DB2:IBM;

SQL Server:微软;

Sybase:赛尔斯;

MySQL:甲骨文;

7.数据库的基本原理

概念数据模型、逻辑数据模型、关系模型、关系规范化(含函数依赖)、三级模式两级映射(像)

8.结构化查询语言(SQL)

结构化查询语言是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名;

9.SQL语言结构

结构化查询语言包含6个部分:

一:数据查询语言(DQL:Data Query Language):

其语句,也称为"数据检索语句",用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。

二:数据操作语言(DML:Data Manipulation Language):

其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。

三:事务处理语言(TPL)

四:数据控制语言(DCL):

它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。

五:数据定义语言(DDL):

其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。

六:指针控制语言(CCL)

10.SQL中的数据类型

字符型:char、varchar

文本型:text

数值型:int、float、double....

日期型:data、time、year、datatime

逻辑型:bit(0或1)

11.查看MySQL编码

show variables like 'char%';

character_set_client:你发送的数据必须与client指定的编码一致!!!服务器会使用该编码来解读客户端发送过来的数据;

character_set_connection:通过该编码与client一致!该编码不会导致乱码!当执行的是查询语句时,客户端发送过来的数据会先转换成connection指定的编码。但只要客户端发送过来的数据与client指定的编码一致,那么转换就不会出现问题;

character_set_database:数据库默认编码,在创建数据库时,如果没有指定编码,那么默认使用database编码;

character_set_server:MySQL服务器默认编码;

character_set_results:响应的编码,即查询结果返回给客户端的编码。这说明客户端必须使用result指定的编码来解码;

12.生成数据库脚本SQL文件

在控制台使用mysqldump命令可以用来生成指定数据库的脚本文本,但要注意,脚本文本中只包含数据库的内容,而不会存在创建数据库的语句!所以在恢复数据时,还需要自已手动创建一个数据库之后再去恢复数据

mysqldump –uroot–123 test>C:\test.sql

现在可以在C盘下找到mydb1.sql文件了!

注意,mysqldump命令是在Windows控制台下执行,无需登录mysql

13.执行SQL文件

source C:\test.sql

执行SQL脚本需要登录mysql,然后进入指定数据库,才可以执行SQL脚本!!!

执行SQL脚本不只是用来恢复数据库,也可以在平时编写SQL脚本,然后使用执行SQL 脚本来操作数据库!大家都知道,在黑屏下编写SQL语句时,就算发现了错误,可能也不能修改了

mysql -uroot -p123test<C:\test.sql

这种方式无需登录mysql

14.Blod

在MySQL中Blob是一个二进制的对象,它是一个可以存储大量数据的容器(如图片,音乐等等),且能容纳不同大小的数据,在MySQL中有四种Blob类型,他们的区别就是可以容纳的信息量不容分别是以下四种:

      ①TinyBlob类型  最大能容纳255B的数据

      ②Blob类型  最大能容纳65KB的

      ③MediumBlob类型  最大能容纳16MB的数据

      ④LongBlob类型  最大能容纳4GB的数据

15.<=>运算符

MySQL有一个特殊的等于运算符“<=>”,当两个表达式彼此相等或都等于空值时,它的值为TRUE,其中有一个空值或都是非空值但不相等,这个条件就是FALSE;

16.MySQL的执行流程

1.客户端请求,服务端(连接器)开启线程响应用户

2.用户发起SQL语句查询数据库

3.查询缓存:记录用户的SQL查询语句。如果查询同样内容,就返回缓存。

4.如果缓存中没有对应的结果,则进入分析器。(分析器也可能借鉴缓存)

不得不说说:

语法分析器。用户命令语法是否正确。将用户的命令进行切片,一个词一个词用空格隔开,获得用户要查询的表、内容、权限等。

5.优化:执行路径的选择,生成执行树。每一个SQL语句都有很多执行路径。优化的目的就是在这些执行路径里面,选择一个最优的执行路径。

6.存储引擎:用于管理存储在文件系统或是裸设备上的数据管理程序。它本身给上层应用提供不同的管理,有的支持事务,有的不支持事务。

17.数据库的对象

逻辑对象:表,索引,视图,触发器,存储过程,存储函数,时间调度器,游标,用户。

物理对象:数据管理组件(也可称为元数据),存储引擎,存储为物理文件。

数据库管理系统的基本功能:

管理存储,安全管理,元数据管理,事务管理,ACID(原子性,一致性,隔离性,持久性),连接管理,性能优化,备份和还原机制,相应数据查询/修改请求。

存储引擎:将数据存储下来的中间层

18.数据模型

根据不同的应用目的,数据模型可以分为概念模型(E-R图)、逻辑模型、物理模型;

逻辑模型有层次模型、网状模型、关系模型、面向对象模型

19.数据库的设计步骤

需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行与维护

20.说出一些数据库优化方面的经验?

用PreparedStatement一般来说比Statement性能高:一个sql发给服务器去执行,涉及步骤:语法检查、语义分析,编译,缓存

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容

  • 1.MySQL数据库 2.SQL语句 第一节课 ###1(MySQL数据库)数据库概念.avi 5...
    码了个农啵阅读 1,192评论 1 16
  • 数据库管理系统 SQL: SQL 是Structured Query Language(结构化查询语言)的缩写,S...
    云之君兮鹏阅读 1,472评论 3 34
  • 数据库相关概念 1、DB:数据库,保存一组有组织的数据的容器。​2、DBMS:数据库管理系统,又称为数据库软件(产...
    Re_frain阅读 338评论 0 2
  • 一个人走路会孤单吗? 孤单 但又不孤单。 如果我们想平平淡淡地过一辈子,一个人走路,没有伴侣同行,难免就孤单,长此...
    dy5阅读 581评论 4 0
  • 一个简单的写作测试
    Sam_7b09阅读 117评论 0 0