2021/9/23
一帮坚、什么是數(shù)據(jù)庫
數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲和管理數(shù)據(jù)的倉庫
二互艾、數(shù)據(jù)模型
層次模型
網(wǎng)狀模型
關(guān)系模型
三试和、關(guān)系型數(shù)據(jù)庫
關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系組成的一個(gè)數(shù)據(jù)組織
(SQL Server、Oracle纫普、MySQL)
四阅悍、數(shù)據(jù)庫基本概念
表:數(shù)據(jù)庫中具體保存數(shù)據(jù)的結(jié)構(gòu)
行(記錄):一個(gè)表中的一行,也叫做一條記錄
列(屬性):一行中可能有多個(gè)屬性來描述數(shù)據(jù)
2021/9/24
一昨稼、數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng) (DBMS) 包括一組相關(guān)的記錄以及一組用來訪問和操作這些記錄的程序
二节视、數(shù)據(jù)冗余和數(shù)據(jù)完整性
數(shù)據(jù)冗余:關(guān)聯(lián)的兩個(gè)表中存在重復(fù)的列數(shù)據(jù)
數(shù)據(jù)完整性:表中的每一條記錄都需要有唯一標(biāo)識(數(shù)據(jù)不重復(fù)的列)
三、實(shí)體完整性
通過主鍵或者組合鍵的方式來確保數(shù)據(jù)唯一性
四假栓、域完整性和域約束
為列設(shè)定相應(yīng)的約束來確保數(shù)據(jù)完整
五寻行、引用完整性
通過設(shè)定外鍵來確保數(shù)據(jù)完整
2021/9/25 (一)
一、索引
加快檢索數(shù)據(jù)庫中的數(shù)據(jù)
二匾荆、視圖
通過另一個(gè)名字訪問某個(gè)表拌蜘,可以篩選數(shù)據(jù)創(chuàng)建視圖
三、存儲過程
用一個(gè)名稱來定義一組SQL語句棋凳,可以通過這個(gè)名稱來執(zhí)行所有語句
四拦坠、觸發(fā)器
在數(shù)據(jù)庫數(shù)據(jù)被插入、修改或者刪除時(shí)可以觸發(fā)觸發(fā)器剩岳,執(zhí)行某些語句
五贞滨、SQL
SQL(Structured Query Language)結(jié)構(gòu)化查詢語言
2021/9/25 (二)
一、服務(wù)啟動
1拍棕、在系統(tǒng)服務(wù)中啟動晓铆、關(guān)閉,也可以設(shè)置開機(jī)啟動或手動啟動
2绰播、在開始菜單-SQLserver安裝目錄-配置工具-配置管理器
二骄噪、常用工具
企業(yè)管理器:管理數(shù)據(jù)庫和連接的主要工具
查詢分析器:執(zhí)行SQL的工具
三、數(shù)據(jù)庫
系統(tǒng)數(shù)據(jù)庫:master蠢箩、msdb链蕊,tempdb事甜,model
用戶數(shù)據(jù)庫:用戶自己創(chuàng)建的數(shù)據(jù)庫
四、數(shù)據(jù)庫文件
數(shù)據(jù)文件: 用來保存數(shù)據(jù)
? 主要數(shù)據(jù)文件(.mdf)? 只能有一個(gè)
? 次要數(shù)據(jù)文件(.ndf)? 0個(gè)或多個(gè)
日志文件(ldf):保存數(shù)據(jù)庫操作日志 一個(gè)或多個(gè)
五滔韵、新建數(shù)據(jù)庫
右鍵-新建數(shù)據(jù)庫-輸入數(shù)據(jù)庫名稱-保存
數(shù)據(jù)庫文件的位置逻谦,右鍵數(shù)據(jù)庫-屬性-文件
--創(chuàng)建數(shù)據(jù)庫
create database ht
on
primary(
? name=ht,--主要數(shù)據(jù)文件的邏輯名稱
? filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ht.mdf',--數(shù)據(jù)文件的路徑
? size=3mb,--初始大小
? maxsize=10mb,--最大大小
? filegrowth=20%
)
log on(
? name=ht_log,
? filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ht_log.ldf',
? size=1mb,
? maxsize=5mb,
? filegrowth=1mb
)
六、刪除數(shù)據(jù)庫
右鍵數(shù)據(jù)庫刪除
--刪除數(shù)據(jù)庫
drop database ht
2021/9/26
一陪蜻、修改數(shù)據(jù)庫
--修改數(shù)據(jù)庫 修改文件屬性
alter database ht
modify file (name=ht,--指定文件的邏輯名
size=10mb? --要修改的參數(shù)(size,maxsize,filegrowth)
)
--修改數(shù)據(jù)庫 添加文件(次要數(shù)據(jù)文件邦马、日志文件)
alter database ht
add file(
? name=ht_2,
? filename='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\ht_2.ndf',
? size=10mb
)
二、數(shù)據(jù)庫備份還原
1宴卖、物理備份(分離滋将、附加):備份數(shù)據(jù)庫的文件
分離:右鍵要備份的數(shù)據(jù)庫 分離
?? ? ? 找到數(shù)據(jù)文件,備份起來
? 附加:右鍵數(shù)據(jù)庫 附加-選擇主數(shù)據(jù)文件-確定
2症昏、邏輯備份(備份随闽、還原):備份數(shù)據(jù)庫的對象
備份: 右鍵要備份的數(shù)據(jù)庫-任務(wù)-備份-添加備份文件-確定 (此時(shí)備份文件的后綴是.bak)
還原: 右鍵數(shù)據(jù)庫-還原數(shù)據(jù)庫-在目標(biāo)數(shù)據(jù)庫中輸入一個(gè)數(shù)據(jù)庫名字 - 選擇來源-確定
# 2021/9/27
8bit - 1byte(字節(jié))
1024byte-1kb
1024kb - 1mb
1024mb - 1gb
1024gb - 1tb
# 一、數(shù)據(jù)類型
1齿兔、整型
int? ? ? :-2^31-2^31-1(正負(fù)21左右橱脸,4個(gè)字節(jié))
tinyint? : 0-255 1字節(jié)
smallint? :-2^15 - 2^15-1 (2個(gè)字節(jié))
bigint? ? :-2^63 - 2^63-1 (8個(gè)字節(jié))
2础米、小數(shù)
float:? ? ? ? ? ? 多精度浮點(diǎn)型 8字節(jié)(15位小數(shù))
numeric/decimal:? 固定精度 decimal(n,m)? 有效位數(shù)為n位分苇,小數(shù)位m位
real? :? ? ? ? ? 單精度浮點(diǎn)型 4字節(jié)
3、字符
varchar? :可變長度字符串(存多少屁桑,長度就是多少)? 1個(gè)中文占兩個(gè)字節(jié) 數(shù)字医寿、英文占1個(gè)字節(jié)? (最大長度由數(shù)據(jù)決定)
char? ? :固定長度字符串(存儲的內(nèi)容沒有超過長度,會自動補(bǔ)空格)? 最大8000個(gè)字浮
text:? ? :最大可存儲20億個(gè)字符
nchar/nvarchar/ntext:? 轉(zhuǎn)換成Unicode編碼字符串? 每個(gè)字符占1個(gè)字節(jié)
4蘑斧、日期
date :日期
datetime :日期時(shí)間
5靖秩、二進(jìn)制
binary/varbinary/image
6、貨幣
money/smallmoney (固定保留四位小數(shù))
7竖瘾、GUID 全局唯一標(biāo)識
# 二沟突、自定義數(shù)據(jù)類型(了解)
# 三、創(chuàng)建表
--切換數(shù)據(jù)庫
use ht
--創(chuàng)建表的SQL
create table scores(
id int not null,
coursename varchar(50) not null,
score float not null,
kstime datetime null
)