当前位置: 首页 > news >正文

第一章 数据库SQL-Server(及安装管理详细)

❄️作者介绍:奇妙的大歪❄️

🎀个人名言:但行前路,不负韶华!🎀

🐽个人简介:云计算网络运维专业人员🐽

前言

       21 世纪,人类迈入了“信息爆炸时代”,大量的数据,信息在不断产生,伴随而来的就是如何安全,有效地储存,检索和管理他们。对数据的有效存储,高效访问,方便共享和安全控制已经成为信息时代待解决的问题。数据库(Database,DB)的出现使这一切成为可能。

       本章主要介绍数据库的一些基础知识,安装SQL-Server 2016的方法,以及常用的管理工具,为后面的同学深入学习相关知识打下坚实的基础。

目录

1.1数据库简介

1.1.1使用数据库的必要性

1.1.2数据库的基本概念

1.1.3数据库的发展史

1.1.4关系数据库的基本概念


1.1数据库简介

1.1.1使用数据库的必要性

        > 数据持久性和可靠性: 数据库提供了一种持久存储数据的机制,确保数据在系统故障或断电等异常情况下不会丢失,并且能够通过备份和恢复机制来保证数据的可靠性。

        > 数据一致性和完整性: 数据库通过事务机制来保证数据的一致性和完整性。事务是数据库操作的最小单位,可以保证多个操作同时成功或同时失败,避免了数据的丢失或不一致问题。

        > 数据的高效管理和组织: 数据库提供了灵活的数据组织和管理功能,可以根据实际需求对数据进行分块、分表、分区等操作,提高数据的查询和访问效率,同时减少冗余和重复数据的存在。

        > 数据的安全性和权限控制: 数据库可以通过用户权限管理机制来限制对数据的访问和操作权限,确保只有授权用户才能进行相关操作,并且可以记录用户的操作日志,便于追踪和审计。

        > 数据的并发处理和多用户支持: 数据库可以支持多个用户同时对数据进行访问和操作,通过锁机制来保证数据的一致性和并发性。

       综上所述,使用数据库能够提供数据的持久性、一致性、完整性、高效管理、安全性和并发处理等重要特性,确保数据的可靠性和有效性,满足现代应用对大规模数据存储和管理的需求。

1.1.2数据库的基本概念

       数据库是一个组织和存储数据的系统。它是一个结构化的集合,用于存储、管理和检索数据。数据库通常由一组表格组成,每个表格包含多个列和行。

数据库中的数据以一种结构化的方式存储,这意味着数据按照预定义的模式和关系进行组织。这种结构化的数据模型使得数据的存储和检索更加高效和灵活。

数据库的基本概念包括:

        >表格(Table):数据库中的主要组成部分,用于存储数据。每个表格由多个列和行组成,每个列定义了特定类型的数据,每个行包含了一条记录。

        >列(Column):表格中的一个字段,用于表示特定类型的数据。例如,一个学生表格可能包含姓名、年龄、性别等列。

        >行(Row):表格中的一个记录,包含了一组相关的数据。每行对应于数据库中的一个实体或对象。

        >主键(Primary Key):表格中的一列或一组列,用于唯一标识每个记录。主键具有唯一性和非空性的约束。

        >外键(Foreign Key):表格中的一列或一组列,用于与其他表格建立关系。外键与另一个表格中的主键相关联,用于实现表格之间的关联和引用。

        >查询(Query):通过使用结构化查询语言(SQL)来检索和操作数据库中的数据。查询可以实现数据的增加、删除、修改和检索等操作。

        这些基本概念构成了数据库的核心组成部分,数据库系统提供了管理和维护这些数据的功能,以便用户能够方便地进行数据操作和数据分析。

1.1.3数据库的发展史

数据库的发展可以追溯到20世纪60年代。以下是数据库的简要发展史:

         >层次数据库模型(1960s):最早的数据库模型之一,它使用树状结构组织数据,其中每个层级都有一个父节点和多个子节点。这种模型的问题是数据之间的关系相对固定,不适合处理复杂的关系。

         >网状数据库模型(1960s-1970s):为了解决层次数据库模型的限制,网状数据库模型引入了更灵活的数据关系。它使用图形结构来表示数据之间的复杂关系,但其复杂性和难以维护的特点使其逐渐被取代。

         >关系数据库模型(1970s至今):关系数据库模型基于关系代数和集合论的原理。它将数据组织为表格(称为关系),并使用行和列来表示实体和属性。关系数据库提供了灵活的查询和操纵数据的能力,并且具有良好的数据完整性和一致性。

         >面向对象数据库模型(1980s-1990s):面向对象数据库模型结合了面向对象编程的概念和关系数据库的特点。它允许存储和管理复杂的对象、类、继承关系等。虽然面向对象数据库具有优点,但在实际应用中并未得到广泛采用。

         >关系-对象混合数据库模型(1990s至今):为了克服关系数据库和面向对象数据库各自的局限性,关系-对象混合数据库模型应运而生。它将关系模型和面向对象模型相结合,既可以处理结构化数据,又可以存储和查询复杂的对象。

         >NoSQL数据库(2000s至今):NoSQL(Not only SQL)是一类非关系型数据库,适用于大规模分布式环境和非结构化数据的存储和处理。NoSQL数据库具有高扩展性、高性能和灵活的数据模型。

         >新SQL数据库(2010s至今):新SQL数据库是对传统关系数据库的一种改进和补充,旨在提供更好的可伸缩性、并发性和分布式处理能力。新SQL数据库保留了关系模型的优势,并加入了分布式计算和云计算的特性。

随着技术的不断发展,数据库仍在不断演进,以满足不断增长的数据存储和处理

1.1.4关系数据库的基本概念

关系数据库是一种使用关系模型组织和存储数据的数据库系统。它基于关系模型的概念,将数据组织为表格(或称为关系),并且通过表格之间的关联(或称为关系)来表示数据之间的联系。

以下是关系数据库的一些基本概念:

         >表(Table):关系数据库中的数据以表格的形式存储。每个表由列(列名及其数据类型)和行组成,列表示数据的属性,行表示具体的数据记录。

         >主键(Primary Key):每个表都有一个主键,用于唯一标识表中的每个记录。主键可以由一个或多个列组成,其值在整个表中必须是唯一的。

         >外键(Foreign Key):外键用于建立表之间的关联。外键是一个表中的列,它引用了其他表的主键列,从而实现了表与表之间的关系。

         >触发器(Trigger):触发器是一种特殊的存储过程,它在数据库中的特定事件发生时自动执行。触发器可以用于实施数据完整性约束、日志记录、业务规则等。

         >索引(Index):索引是一种数据结构,用于提高数据库查询性能。通过创建索引,可以快速定位到满足特定条件的数据,减少数据库的读取操作。

         >范式(Normalization):范式是一种规范化数据库设计的方法,旨在减少数据冗余和数据依赖性。常见的范式有第一范式(1NF)、第二范式(2NF)、第三范式(3NF)等。

这些是关系数据库的一些基本概念,它们帮助实现了数据的组织、关联和查询。

🎀看都看到这里啦留个三连再走吧!!你们的支持就是我的动力!!!🎀🎀🎀

相关文章:

第一章 数据库SQL-Server(及安装管理详细)

❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽个人简介:云计算网络运维专业人员🐽 前言 21 世纪,人类迈入了“信息爆炸时代”&#xff0c…...

chrome extension无法获取window对象

背景见上一篇博客修改网页内容的方法 上一篇博客之后,我要修改的网页有一个新改版,然后有个数据存在了window中,我直接在js中使用window.xxx发现无法获取。所以有本文。 https://juejin.cn/post/7145749643316428830 https://onelinerhub.com…...

在linux虚拟机上安装docker(我的实践)

参考文章: https://blog.csdn.net/qq_29479041/article/details/82659218 步骤: 1.安装docker 参考文章: https://blog.csdn.net/qq_29479041/article/details/82659218 https://blog.csdn.net/qq_38345468/article/details/110128659 2.…...

Spring之事务开发

什么是事务? 事务是指数据库管理系统中的一个执行单位或一个逻辑工作单元,它由一个或多个数据库操作序列组成。事务具有以下四个特性,通常被称为ACID特性: 原子性(Atomicity):事务是一个不可分…...

干了三年的功能测试,让我女朋友跑了,太难受了...

简单概括一下 先说一下自己的情况,普通本科,19年通过校招进入深圳某软件公司,干了3年多的功能测试,21年的那会,因为大环境不好,我整个人心惊胆战的,怕自己卷铺盖走人了,我感觉自己不…...

JavaScript函数的使用

前言 程序中的foo、bar、baz 在学习编程的过程中,你可能会经常看到foo、bar、baz这些名词: 它们通常被用来作为函数、变量、文件的名词;目前已经编程了计算机编程的术语一部分;但是它们本身并没有特别的用途和意义;…...

【算法】Java-使用数组模拟单向链表,双向链表

目录 试题1:实现一个单链表,并实现以下功能: 试题2:实现一个双链表,并实现以下功能 思路总结: 什么情况下可能涉及到用数组实现链表呢? 在学习时了解到了可以用数组模拟链表,使其…...

Nessus简单介绍与安装

Nessus简单介绍与安装 1.Nessus简介 Nessus号称是世界上最流行的漏洞扫描程序,全世界有超过75000个组织在使用它。该工具提供完整的电脑漏洞扫描服务,并随时更新其漏洞数据库。Nessus不同于传统的漏洞扫描软件,Nessus可同时在本机或远端上遥…...

【每天一道算法题】day2-认识时间复杂度

认识时间复杂度: O:读作big O,在数学上指的是上限的意思 常数时间的操作 一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的一…...

前端报错合集

error Component name “index“ should always be multi-word vue/multi-word-component-names 的解决办法 原因组件命名是 没有采用驼峰 error Component name “index“ should always be multi-word vue/multi-word-component-names 的解决办法_error component name &qu…...

Milvus以及Web UI 安装

向量数据库懂的都懂 版本数据 [rootiZ7xv7q4im4c48qen2do2bZ project]# cat /etc/redhat-release CentOS Stream release 9 [rootiZ7xv7q4im4c48qen2do2bZ project]# docker version Client: Docker Engine - CommunityVersion: 24.0.5API version: 1.43Go v…...

Go for循环中的defer

背景 写个后台程序,定时抓取服务器指标,代码逻辑如下,使用一段时间后内存不断增加 func CollectInfo() {for {// 获取服务器信息代码// ...............resp, err : http.Post("http://server", "application/json", str…...

创建开机自启的脚本

在启动许多ros节点时有多种方式,我推荐使用launch来启动所有的节点,这也是一种规范的方式。以后会慢慢向这个方向靠。 除此之外还可以通过创建的脚本来启动: 脚本位置不限,只需要: sudo gedit xxx.sh在里面添加相应的…...

学生信息系统(python实现)

#codingutf-8 import os.path filenamestudent.txtdef menm():#菜单界面print(学生管理系统)print(-----------------------------功能菜单-----------------------------)print(\t\t\t\t\t\t1.录入学生信息)print(\t\t\t\t\t\t2.查找学生信息)print(\t\t\t\t\t\t3.删除学生信息…...

管理类联考——数学——汇总篇——知识点突破——数据分析——1. 计数原理——排列组合——公式

排列组合 排列与组合的推导: 从n个不同的元素中取出m(m≤n)个元素做排列为 A n m A_n^m An...

C#,《小白学程序》第十六课:随机数(Random)第三,正态分布的随机数的计算方法与代码

1 随机数的问题 用 C# Random 类生成的随机数是平均分布的。也就是各数据段的出现的次数差不多。彩票号码属于这种随机数。 而很多很多常见的随机数,比如:成绩,却是符合正态分布的。 因而很多时候需要生成符合正态分布规律的随机数。 2 文…...

一文读懂java变量类型

前言 在学习和使用Java编程语言时,理解变量类型是至关重要的基础知识。Java是一种静态类型语言,强调变量必须先声明其类型,才能进行后续操作。因此,对于初学者来说,了解Java中不同的变量类型及其特性是迈向编程成功的…...

解决windows下git操作提示用户名密码错误的问题

当代码从一个平台切换到另一个平台的时候,需要做两步操作,第一步就是更新git的仓库地址,在项目的.git/config文件里面修改,这一步做完之后,就可以推送代码到新的仓库了,这里就是重点来了。 一般第一次推动代…...

ESP32开发:Clion配置IDF

IDF环境搭建 使用安装包安装IDF 可以通过安装包进行安装,如下图: 下载链接如下:https://dl.espressif.cn/dl/esp-idf/?idf4.4 安装好后,IDF会添加环境变量IDF_TOOLS_PATH,如果要安装多个IDF,为了防止冲…...

伦敦金的走势高低的规律

伦敦金市场是一个流动性很强的市场,其价格走势会在诸多因素的影响下,出现反复的上下波动,如果投资者能够在这些高低走势中找到一定的规律,在相对有利的时机入场和离场,就能够通过不断的交易,累积大量的财富…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

Python|GIF 解析与构建(5):手搓截屏和帧率控制

目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...

深入剖析AI大模型:大模型时代的 Prompt 工程全解析

今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...

day52 ResNet18 CBAM

在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...

.Net框架,除了EF还有很多很多......

文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

多场景 OkHttpClient 管理器 - Android 网络通信解决方案

下面是一个完整的 Android 实现&#xff0c;展示如何创建和管理多个 OkHttpClient 实例&#xff0c;分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...