SQL SERVER学习笔记(1)数据库概论

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介:

第一部分:数据库概论

单词记忆:

    DBA {database administrator}:数据库管理员

    DBMS {database management system}:数据库管理系统

    SQL {structured query language}:结构化查询语言

    DQL{data query language}:数据查询语言

    DML{data manipulation language}:数据操作语言

    DCL{data control language}:数据控制语言

    DDL{data definition language}:数据定义语言

 

一、     计算机数据库的优点

1、 降低存储数据的冗余度,也就是减少重复的数据。

2、 更高的数据一致性。

3、 存储的数据可以共享。

4、 可以建立数据库所遵循的标准。

5、 便于维护数据完整性,就是指保证数据库中数据的准确性。

6、 能够实现数据的安全性。

 

二、     数据库分类

    单机数据库:

        优点:高效、简单

        缺点:数据无法共享

        实例:ACCESS、FOXPRO

    网络数据库:

• 优点:数据共享、提供并发访问

• 缺点:必须考虑网络压力、冲突处理、资源限制

• 实例:实例:SQL Server、Oracle

 

三、 数据库系统组成

    数据库系统由数据库与数据库管理系统DBMS组成

 

四、 数据库体系模型

1、层次型

   ——以结构树模型进行数据存储,由节点(实体)、连线 (关系)构成,将各种有关联的数据存储在不同层次上。

优点:层次分明、结构清晰、关联简单

缺点:数据冗余,层次间无横向关系,不便管理

 

    2、网络型

   ——以网络模型进行数据存储,由节点(实体)、连线 (关系)构成,组成独立实体网络实体。

优点:消除冗余,对象关联完整

缺点:关系过于负责,无法支持大型数据

 

    3、关系型

   ——以二维表格进行数据存储,由记录(实体)、字段(属性)、键(关系)构成。

优点:1、结构简单、格式唯一,在一定程度上控制冗余、并降低关系的复杂性

      2、表间独立性强,可以进行异步操作。

缺点:无法完全消除冗余、数据分散

 

五、模型变迁原因

    层次模型——网络模型——关系模型

关系型改革原则:

• 通过对象集合化减少对象个数(表)

• 通过对象关系化实现对象间复杂关系

• 通过范式化减少数据冗余

 

六、数据库的基本概念

1、 数据和信息:数据一些实体,在我们的工作中,数据是最重要的部分,我们将某些数据收集起来并加以分析,就生成了信息。

2、 数据库和表:表是数据库对象。而数据库是相关的多维数据集及其所共享的对象的容器。

3、 行或列的关系:表是由分别排成行和列的相关记录组成的集合。在表中,数据以行和列的形式存储,类似电子表格。

4、 数据库系统和数据库管理系统:数据库系统是一个基于计算机的记录保存系统,它最主要的用途是记录和维护信息。数据库管理系统(DBMS)包括一组相关的记录以及一组用来访问和操作这些记录的程序。

5、 数据冗余度和数据的完整性

 

七、关系型数据库的基本概念

1、 实体完整性和主键

主键:唯一地标识表中的记录的一个或一组列称为“主键”。每个表都应有一个主键。

实体完整性:基表主键的任何部分都不可以接受空值(null)。

2、 引用完整性和外键

外键:是一个或一组列,其中列的值与另外一个表中的主键或唯一键相匹配。两个表是通过外键联系起来的。换句话说,通过一个共同字段来连接两个表称为建立关系,而创建外键就是建立关系的手段。

引用完整性:从表引用外部数据必须在其它表中存在。

3、 关系和度

在关系模型中,每个关系或表都包含许多“元组”。元组也称为记录或行。

表中属性的数量称为该表的“度”。

4、 字段约束和字段约束的方法

通常把属性称为字段。

 

八、数据库规划原则

Ø 最大可重用化

--数据库重大问题时,通过备份和恢复机制最大程度上恢复数据。

Ø 最小磁盘争用

--数据库文件平均分布在不同的磁盘上避免多用户访问时候争用同一磁盘

Ø 各种数据的合理分布

--将数据库中的各种数据按特性(如基表和变化表、大数据和常规数据)存储在不同的文件中。

 

九、数据表规划原则

Ø 数据定义精确化

  --满足要求的情况下选择占用资源最少的数据类型以提高DBMS的I/0性能

Ø 表的抽象化

  --通过将具有共性的表合并,将其特性以标识字段表示。

Ø 表的范式化

--设计表时,满足1NF(原子性)、2NF(键相关性)、3NF(无函数相关性),保证表的结构无冗余。

原子性:

键相关性:

无函数相关性:

 

十、数据表 I / 0优化原则

Ø 变化表和基表的分离

--将变化表(递增性很强,如单据表、销售记录表)和基表(很少变化,如学生资料、班级资料等)分开存放到不同的数据文件中

Ø 大数据和常规数据的分离

--将表中的TEXT、NTEXT、IMAGE型大数据字段和其他常规类型字段分开存放,保证常规数据的查询高效性

Ø 索引数据和表数据的分离

  --将索引和表分离,减少磁盘争用并提高索引的查询效率。

 

十一、SQL Server的存储特性

Ø 页(8K)

--将OS中连续的8个块组成“页”,作为空间分配的最小单元,以减少空间分配时所需耗费的资源。(处理大表时,可能将8个连续的“页”组成一个“扩展”,以进一步减少分配时所耗用的资源)

Ø 表记录存放在页中

--表的记录尽量存放在页中,而且一个页中一般只存放同表的内容,保证取得高命中率。

Ø 数据读取以页为单位

 

十二、SQL简介

SQL的分类

DQL(数据查询语言):用来从数据库中获取数据和对数据进行排序。

DML(数据库操作语言):用来插入、删除、修改数据库中的数据。

DCL(数据控制语言):用于管理对数据库和数据库对象的权限。

DDL(数据定义语言)

CCL(通用命令语言):用于在数据库中进行高效率的搜索。


本文转自温景良博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/11/01/1324392.html,如需转载请自行联系原作者

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
相关文章
|
3天前
|
SQL Oracle 关系型数据库
sql语句创建数据库
在创建数据库之前,请确保你有足够的权限,并且已经考虑了数据库的安全性和性能需求。此外,不同的DBMS可能有特定的最佳实践和配置要求,因此建议查阅相关DBMS的官方文档以获取更详细和准确的信息。
|
14天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
84 6
|
1天前
|
SQL 数据管理 关系型数据库
如何在 Windows 上安装 SQL Server,保姆级教程来了!
在Windows上安装SQL Server的详细步骤包括:从官方下载安装程序(如Developer版),选择自定义安装,指定安装位置(非C盘),接受许可条款,选中Microsoft更新,忽略警告,取消“适用于SQL Server的Azure”选项,仅勾选必要功能(不包括Analysis Services)并更改实例目录至非C盘,选择默认实例和Windows身份验证模式,添加当前用户,最后点击安装并等待完成。安装成功后关闭窗口。后续文章将介绍SSMS的安装。
4 0
|
1天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
Java从入门到精通:2.3.2数据库编程——了解SQL语言,编写基本查询语句
|
2天前
|
SQL 关系型数据库 MySQL
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
:“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versi
9 0
|
3天前
|
SQL 缓存 数据库
sql 数据库优化
SQL数据库优化是一个复杂且关键的过程,涉及多个层面的技术和策略。以下是一些主要的优化建议: 查询语句优化: 避免全表扫描:在查询时,尽量使用索引来减少全表扫描,提高查询速度。 使用合适的子查询方式:子查询可能降低查询效率,但可以通过优化子查询的结构或使用连接(JOIN)替代子查询来提高性能。 简化查询语句:避免不必要的复杂查询,尽量使SQL语句简单明了。 使用EXISTS替代IN:在查询数据是否存在时,使用EXISTS通常比IN更快。 索引优化: 建立合适的索引:对于经常查询的列,如主键和外键,应创建相应的索引。同时,考虑使用覆盖索引来进一步提高性能。 避免过多的索引:虽然索引可以提高查询
|
3天前
|
SQL XML 数据库
sql导入数据库命令
在SQL Server中,数据库导入可通过多种方式实现:1) 使用SSMS的“导入数据”向导从各种源(如Excel、CSV)导入;2) BULK INSERT语句适用于导入文本文件;3) bcp命令行工具进行批量数据交换;4) OPENROWSET函数直接从外部数据源(如Excel)插入数据。在操作前,请记得备份数据库,并可能需对数据进行预处理以符合SQL Server要求。注意不同方法可能依版本和配置而异。
|
9天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
20 0
|
10天前
|
SQL 数据库
数据库SQL语言实战(二)
数据库SQL语言实战(二)
|
11天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
38 3