Oracle—day01:數據庫概述、Oracle數據庫 20190911

1、什麼是數據?

* 生活中用來描述事物信息的內容就是數據,如:姓名、性別、年齡、籍貫等;

* 有關數據的操作,從人類誕生至今經歷了很多時期的發展。如:結繩記事、文字的出現、紙張的出現、後期發展到使用文件櫃的形式來操作數據;
*  隨着計算機的出現,數據的操作發展到使用電子設備來操作,如:軟盤、光盤、硬盤、U盤等等,使用電子設備來操作數據可以實現長久的保存數據,數據的安全性很高;
*  單純的數據本身是沒有任何意義的,只要給數據定義一個確定的標題之後數據纔會有意義,也就是使用表格的形式來定義數據;

2、什麼是數據庫?

字面意思理解爲存儲數據的倉庫,生活中的水庫、車庫、油庫、糧庫、手機裏面的通訊庫等都是一種數據庫,這種生活中的數據庫存在數據單一性和處理數據效率低的問題。

計算機中數據庫的定義具體爲:數據庫是一個能高效的存儲並且處理所有數據的一個軟件。

3、數據庫的分類

根據計算機存儲數據介質(內存、硬盤)的不同,將數據庫分爲兩類:關係型數據庫(硬盤)、非關係型數據庫(內存)。

#### 1. 關係型數據庫:

* 大型關係型數據庫(GB以上)----DB2(IBM)、Oracle(甲骨文)等;
* 中型關係型數據庫(MB以上)----MySQL(甲骨文)、SQLServer(微軟)等;
* 小型關係型數據庫(MB以下)----Access、Sybase、informix等;
### 2.非關係型數據庫:
常用的非關係型數據庫有:memcached(文檔)、mogodb(文檔)、redis(鍵值對);

4、關係型數據庫和非關係型數據庫的區別

* 關係型數據庫大部分都是收費的(除MySQL以外),開發成本高;非關係型數據庫大部分都是不收費的,開發成本低;
* 關係型數據庫中是以表格的形式來管理數據的;非非關係型數據庫中不是以表格形式來管理數據的;
* 關係型數據庫是處理硬盤數據的;非關係型數據庫是處理內存數據的;
* 關係型數據庫處理數據的速度比較低,會浪費很大硬盤空間;非關係型數據庫處理數據的速度很快,不會浪費內存空間。

5、關係型數據庫

 關係型數據庫是一個建立在數學關係模型上的數據庫,關係模型中包含三個方面:
  • 數據結構(表格)----用於解決數據的存儲問題,關係型數據庫中是以表格這種結構來處理數據的(表格是由表名和字段名組成的)。
  • 數據庫的操作指令集合(SQL語言)----用來操作數據的SQL代碼,不同的數據庫都是使用SQ語句來操作數據的;
  • 數據的完整性約束----表內部數據約束、表和表之間的數據約束;
  • 6、設計一個關係型數據庫系統

    設計一個關係型數據庫只需要從數據中進行分析即可:如果是一類數據,應該設計成一張表格。

    分析達內教學數據庫系統:講師負責教學、教學生、在教室教學生。

1、找出系統中應該存在的數據類別(表);**
  講師表、學生表、班級表

2、找出每張表中應該存在的數據;

講師表----姓名、性別、年齡、授課方向、授課時長、授課費用;

學生表----姓名、性別、年齡、學習方向、學歷、學號;

班級表----教室編號、班級名稱、班級人數;

表內部數據約束

拿學生表來說:

姓名 性別 年齡 學習方向 學歷 學號
張三 25 Java 本科 1
李四 ..... 雲計算 大專 2
小紅 18 WEB 本科 3
學生表中的每一列字段只能存放對應的數據(數據類型和數據長度),如性別字段這一列只能存放男或女數據,表內部數據約束是縱向;

表和表之間的數據約束

拿學生表和班級表來說:每個學生只屬於某一個班級(一對一約束),每個班級肯定有多個學生(一對多約束)。

學生表:

姓名 性別 年齡 學習方向 學歷 學號
張三 25 Java 本科 1
李四 ..... 雲計算 大專 2
小紅 18 WEB 本科 3

班級表:

教室編號 班級名稱 班級人數
第一教室 CGB1904 25
第二教室 NSD1905. 30
第三教室 BIG1906B 28
第四教室 CGB1908 25
綜上所述,學生表和班級表之間沒有數據約束存在,要想實現的話只需要實現一對一約束即可(在學生表中增加一個班級名稱字段來指向唯一的班級)。

7、SQL語句

數據庫的SQL語句分爲四部分:

*        DDL語句----數據定義語句,用來定義表格的。代筆指令:

create(創建表)、drop(刪除表格)、alter(修改表格);

*       DML語句----數據操作語句,用來操作表中數據的。代表指令:

insert(插入數據)、delete(刪除數據)、update(修改數據)、select(查詢數據)

* DCL語句----數據控制語句,用來操作數據庫中用戶權限的。代表指令:grant(授予用戶權限)、revoke(撤銷用戶權限);

* TCL語句----事物控制語句,用來維護表中數據一致性的。TCL語句是配合insert、delete、update語句一起使用的,insert、delete和update語句在使用時必須配合TCL語句纔會生效。代表指令:commit(提交)、rollback(撤銷)、savepoint(保存點)

8.與數據庫相關的專有名詞

table:表格
DB:數據庫,一個DB是由多個table組成的;
DBS:數據庫系統,DBS是由DB和DBMS組成的;
DBMS:數據庫管理系統軟件,是專門管理DB的軟件;
DBA:數據庫管理員,DBA是數據庫開發的一個職稱,DBA是需要通過官方數據庫機構(Oracle、微軟、亞馬遜、華爲、聯想)的資格認證考試纔可以勝任的。

9、Oracle 數據庫

9.1 Oracle 數據庫的數據類型

(數據類型:number;字符串類型:char、varchar2;日期時間類型:date)

9.2、Oracle 數據庫的安裝和使用
Oracle數據庫是一個服務器端軟件,在使用Oracle之前先將Oracle數據庫安裝在服務器設備上,然後再使用sqldeveloper客戶端軟件去連接安裝好的Oracle服務器。

9.3、DDL語句
9.3.1.創建表:create

.語法:
create table 表名(字段名1 數據類型,字段名2 數據類型,……);
注意:
1、小括號中的字段名之間必須用逗號隔開;
2、語句必須以分號結尾,分號代表SQL語句結束;

9.3.2、修改表
修改表名

語法:rename 舊錶名 to 新表名;

修改字段名

語法:
alter table 表名 rename column 舊字段名 to 新字段名;

增加字段

語法:alter table 表名 add(字段名 數據類型);

刪除字段

語法:alter table 表名 drop(字段名);

修改字段的數據長度

語法:alter table 表名 modify(字段名 數據類型);
注意:日期類型的字段不可以修改長度;若表中存在數據時,字段的長度只能增加。

修改字段的非空約束(not null)

修改字段的非空約束(not null)

修改字段的默認值(default)

語法:alter table 表名 modify(字段名 default 默認數據值);
注意:defaule語句左邊是字段名,右邊是默認數據值。字符串數據和日期數據必須用一對單引號括起來表示。

9.3.3、 刪除表

語法:drop table 表名;
注意:若表中已經存在數據時,drop語句會一併將數據也刪除。drop語句執行之後,表格是徹底從數據庫中刪除了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章