資料庫 一、基本概念 1.數據 (1)數據的定義:對客觀事物的符號表示,如圖形符號、數字、字母等,數據是資料庫中存儲的基本對象 (2)數據的種類:文字、圖形、圖像、聲音 (3)數據的特點:數據與其語義是不可分的 2.資料庫 (1)資料庫的定義:資料庫(Database簡稱DB)是按照數據結構來組織、 ...
資料庫
一、基本概念
1.數據
(1)數據的定義:對客觀事物的符號表示,如圖形符號、數字、字母等,數據是資料庫中存儲的基本對象
(2)數據的種類:文字、圖形、圖像、聲音
(3)數據的特點:數據與其語義是不可分的
2.資料庫
(1)資料庫的定義:資料庫(Database簡稱DB)是按照數據結構來組織、存儲和管理數據的建立在電腦存儲設備上的倉庫。
(2)資料庫的基本結構:以內模式為框架所組成的資料庫叫做物理資料庫;以概念模式為框架所組成的數據叫概念資料庫;以外模式為框架所組成的資料庫叫用戶資料庫。
- 物理數據層 它是資料庫的最內層,是物理存貯設備上實際存儲的數據的集合。這些數據是原始數據,是用戶加工的對象,由內部模式描述的指令操作處理的位串、字元和字組成。
- 概念資料庫。 它是資料庫的中間一層,是資料庫的整體邏輯表示。指出了每個數據的邏輯定義及數據間的邏輯聯繫,是存貯記錄的集合。它所涉及的是資料庫所有對象的邏輯關係,而不是它們的物理情況,是資料庫管理員概念下的資料庫。
- 用戶資料庫。 它是用戶所看到和使用的資料庫,表示了一個或一些特定用戶使用的數據集合,即邏輯記錄的集合。 資料庫不同層次之間的聯繫是通過映射進行轉換的。
3.資料庫主要特點
(1)實現數據共用
(2)減少數據的冗餘度
(3)數據的獨立性:邏輯獨立性、物理獨立性
(4)數據實現集中控制
(5)數據一致性和可維護性
(6)故障恢復
4.資料庫分類
(1)層次式資料庫
(2)網路式資料庫
(3)關係式資料庫
5.資料庫系統
定義:資料庫系統(Database System,簡稱DBS),是由資料庫及其管理軟體組成的系統。
6.資料庫管理系統(比如:MySql)
(1)資料庫管理系統(Database Management System 簡稱DBMS)是一種操縱和管理資料庫的大型軟體,是用於建立、使用和維護資料庫。
(2)關係型資料庫管理系統稱為RDBMS,R指Relation。
(3)DBMS的作用:它對資料庫進行統一的管理和控制,以保證資料庫的安全性和完整性。
7.資料庫管理員
定義:資料庫管理員(Database Administrator,簡稱DBA),負責全面管理和控制資料庫系統。
8.DBA、DBMS、DB和DBS之間的關係
DBA利用DBMS控制由DB構成的DBS。
9.數據模型
是用來抽象、表示和處理現實世界中的數據和信息的工具,是對現實世界的模擬,是資料庫系統的核心和基礎;其組成元素有數據結構、數據操作和完整性約束。
10.概念模型
也稱信息模型,是按用戶的觀點來對數據和信息建模,主要用於資料庫設計。
11.邏輯模型
是按電腦系統的觀點對數據建模,用於DBMS實現。
12.物理模型
是對數據最底層的抽象,描述數據在系統內部的表示方式和存取方法,在磁碟或磁帶上的存儲方式和存取方法,是面向電腦系統的。
13.實體和屬性
客觀存在並可相互區別的事物稱為實體。實體所具有的某一特性稱為屬性。
14.E-R圖
即實體-關係圖,用於描述現實世界的事物及其相互關係,是資料庫概念模型設計的主要工具。
15.關係模式
從用戶觀點看,關係模式是由一組關係組成,每個關係的數據結構是一張規範化的二維表。
16.型/值
型是對某一類數據的結構和屬性的說明;值是型的一個具體賦值,是型的實例。
17.資料庫的二級映像
外模式/模式映像、模式/內模式映像。
二、資料庫管理系統(DBMS)
1、DBMS的主要功能
(1)數據定義功能:提供數據定義語言(DDL)
用於定義資料庫的所有特性和屬性,尤其是行佈局、列定義、鍵列(有時是選鍵方法)、文件位置和存儲策略,包括命令:
-
DROP(刪除資料庫)
刪除資料庫:drop database if exists 資料庫名
-
CREATE(創建資料庫)
創建表:create table if not exists 表名(列名 列名約束)
-
ALTER(修改資料庫)
添加列名:alter table 表名 add 列名 約束條件
修改列名:alter table 表名 change 老列名 新列名 數據類型
修改列欄位數據類型:alter table 表名 modity 列名 數據類型
刪除列名:alter table 表名 drop 列名
修改表名:alter table 表名 rename 新表名
-
GRANT(賦予許可權)
REVOKE(從當前用戶或組中取消許可權)、TRUNCATE(只刪除表中的所有數據,不刪除表的結構)
其中:truncate table命令將快速刪除數據表中的所有記錄,但保留數據表結構。
delete命令刪除的數據將存儲在系統回滾段中,需要的時候,數據可以回滾恢復,而truncate命令刪除的數據是不可恢復的。
(2)數據操縱功能:提供數據操縱語言(DML)
操縱數據實現對資料庫的基本操作:
-
SELECT(查詢)
select from 表名 where 條件(條件1 and 條件2)
-
INSERT(插入)
insert into 表名(列1,列2) values(' ',' '),(' ',' '),(' ',' ')
-
DELETE(刪除)
delete from 表名 where 條件
- UPDATE(修改)
update 表名 set 列名=' ',列名=' ' where 條件
(3)資料庫的運行管理
- 保證數據的安全性和完整性
- 多用戶對數據的併發使用
- 發生故障後的系統恢復
(4)資料庫的建立和維護功能(實用程式)
- 資料庫數據批量裝載
- 資料庫轉儲
- 介質故障的修複
- 資料庫的重組織
- 性能監視
2.DBMS的分類
(1)分類:
- 大型資料庫:Sybase、Oracle、db2
- 中型資料庫:mysql、sql server、infomix
- 小型資料庫:Access、foxbase、sqlite
(2)Mysql、SQL server、Oracle、DB2的特點:
-
Oracle:
a. 最穩定、功能最強大、性能最好、容量無限、最昂貴、重量級,分散式資料庫 系統,適用於大型的項目
b. "關係----對象"型資料庫
-
MySQL:
a. 輕量級、易安裝、易管理、速度比較快,使用起來方便,適用於中小型企業
b. 開源、免費、與PHP組成經典的LAMP組合
-
SQL Server:
a. 針對不同用戶群體的五個特殊的版本
b. 易用性好
-
DB2:
a. 應用於大型應用系統,具有較好的可伸縮性
3.B/S和C/S
(1)B/S瀏覽器伺服器Browser Server
客戶不需要安裝程式,只需要有瀏覽器引擎即可:淘寶
(2)C/S客戶端伺服器Client Server
客戶需要安裝程式,比如:QQ