数据库(一)

数据库概论

数据库是指长期存储在计算机内有组织可共享的数据集合。数据库中的数据以及数据之间的关系按照一定的 数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并在一定的范围内可以被多个用户共享
数据模型:层次模型、网状模型、关系模型,据说下一代是对象模型
关系型数据库是建立在关系数据模型基础上的数据库,借助集合代数的概念和方法处理数据库中的数 据,同时也是一个被组织成具有描述的二维表格,表格的实质就是装载数据项的收集器,这些表格中的 数据能以不同的方式被存取或者重新召集,而不需要更新组织数据库的表格。
目前常见 RDBMS 主要有 Oracle 收费【运行稳定、性能优异、大型企业级应用开发首选】、 MySQL免费【开源免费、体积小、速度快、适用于中小型企业应用开发】、 DB2收费【速度快、可靠性好、适用于海量数据存储,主要用于在使用 IBM 组件时】、 SQLServer 【主要在 .net 应用】、 Sybase【电信行业历史原因使用】
DBMS数据库管理系统是位于用户和操作系统之间的一层数据管理软件。科学地组织和存储数据,高效地获取和维护数据
基础功能:数据定义功能 DDL 、数据操纵功能 DML 、数据库的运行管理、数据库的建立和维护功能
数据库特点
        数据库中的数据尽可能不重复,以最优化的方式为多种应用服务
        数据结构独立于应用
        对数据的CRUD 由统一软件进行管理和控制DBMS

数据模型

数据模型从应用开发的角度上来说可以分为 2 个不同的层次
        一、概念模型或者逻辑模型,从用户的观点来对数据和信息进行建模,可以使用ER 图进行描述
                1、E实体(矩形),属性列采用椭圆表示,采用无定向线连接实体和属性
                2、R关系(菱形框),数据和数据之间的关系有三种: 1:1 1:n 或者 n:1 n:m
                3、容易出现的错误:不能分析出主外键(主键是标识属性,不可能有外键)
        二、物理模型。在概念模型的基础上考虑各种具体的技术实现因素,进行数据库体系结构设计。需要确定所有的表和列,定义主外键,基于用户需求考虑范式的问题

关系模型的特点

1、建立在严格的数学概念之上【唯一】
        ①实体和各类联系都用关系表示
        ②数据的操纵对象是关系,返回结果也是关系
2、关系模型的存取路径对用户透明,优点在于数据独立性、高安全性,简化编程
3、缺点:存储路径对用户透明导致查询效率不如非关系型数据库

SQL

        SQL结构化查询语言是一种数据库操作的非过程式编程语言,用于存取数据以及查询、更新和管理关系型数据库系统,一般脚本文件后缀为.sql
        经过ANSI ISO 标准化组织结构进行标准化,但是各个数据库管理系统都对标准 SQL规范进行了编改和扩充,扩展部分各个数据库不通用,标准部分通用
SQL 的特点
        1、统合统一、高度非过程化
        2、面向集合的操作方式
        3、以同一种语法结构提供两种使用方法,命令行方式交互和嵌入主语言
        4、语法简单,其中只有94 个英文单词,核心功能只有 6 个单词【 insert update delete select

NoSQL

NoSQL 泛指非关系型数据库,主要用于针对超大规模和高并发的社交 SNS 类型网站的解决方案
常见的 NoSQL数据库有4 种类型
        1、key-value数据库,使用 hash 表存储数据。例如 Redis
        2、列存储数据库,主要针对分布式的海量数据,例如HBase
        3、文档型数据库,主要存储版本化的文档信息,例如MongoDB
        4、图形化数据库,主要用于计算数据之间的关系,例如Neo4j
NoSQL 适用场景
        1、数据模型比较简单
        2、需要灵活性很强的IT 系统中
        3、对数据库性能要求较高
        4、不需要高度数据一致性

SQL VS NoSQL

  • 复杂查询SQL数据库比较擅长
  • SQL数据库不适合分层次的数据存储,NoSQL可以很好的实现数据的分层次存储,更适合大数据
  • 对于要求数据严格一致性的应用中SQL非常使用,而且稳定,能够保证数据操作的原子性和一致性;而NoSQL对事务的处理能力有限,一般保证最终一致性
  • SQL厂商支持,而NoSQL是社区支持
  • 性能对比中,NoSQL明显优于SQL数据库,一般NoSQL都充分的利用系统的内存资源
  • NoSQL数据库开发方便,不用考虑数据关系和格式

MySQL数据库

MySQL 使用的是 SQL 语句,体积小、速度快、免费开源的关系型数据库
MySQL 可以支持 6 万多张表,约 50 亿行的企业级数据库应用
  • 每个表可以最多支持64个索引,每个所以可以由1-16个列构成,最大索引宽度为为1000字节
  • 正常字符串的比较不区分大小写
  • MySQL数据库最大限制取决于操作系统对文件大小的限制,不是MySQL内部限制

MySQL体系结构概述

MySQL 是由 SQL 接口、解析器、优化器、缓存、存储引擎
  1. 客户端向MySQL服务器发送一个SQL语句
  2. 服务器首先检查缓存,如果命中则立刻返回存储在缓存中的结果,否则下一步
  3. 服务器首先进行SQL语句解析、预处理,再由优化器生成对应的执行计划
  4. MySQL服务器根据执行计划,调用存储引擎的API执行查询
  5. 最后将查询结果返回客户端,同时缓存查询结果

MySQL基本使用

windows

下载https://dev.mysql.com/downloads/mysql/

MySQL本来是完全免费的产品,被Oracle收购后,现在分为3个不同的版本:

  • MySQL企业版,收费或者试用
  • MySQL社区版,免费的
  • MySQL高级集群版,收费
  • MySQL经典版,老版本,免费

常用命令

启动客户端: bin 目录下 mysql - uroot - p123456
命令格式为: mysql -u用户名 -p口令 -P端口号 -h主机名称 。在实际应用中,不建议直接使用-p口令的这种格式
如果正常启动,则可以看到命令提示符 mysql>
如果需要在任意目录都可以打开客户端,则需要将bin的绝对目录添加到path系统环境变量中
查看所有的数据库 show databases ;
注意information_schema、mysql、sys、performance_schema都属于系统数据库,不要直接操作这些数据库
切换当前数据库 use 数据库名称 ;
查看当前数据库下的所有数据表 show tables ;
查看某个数据表的结构定义 desc 数据表名称 ;
放弃正在输入的命令 \c
显示命令清单 \h
退出客户端 \q ,也可以使用 exit 或者 quit
查看服务器的状态信息 \s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值