在作業系統出現之後,隨著電腦應用範圍的擴大、需要處理的資料迅速膨脹。最初,資料與程式一樣,以簡單的檔案作為主要儲存形式。
以這種方式組織的資料在邏輯上更簡單,但可延伸性差,存取這種資料的程式需要了解資料的具體組織格式。
當系統資料量大或者使用者瀏覽量大時,應用程式還需要解決資料的完整性、一致性以及安全性等一系列的問題。
因此,必須開發出一種系統軟體,它應該能夠像作業系統封鎖了硬體存取複雜性那樣,封鎖資料存取的複雜性。由此產生了資料管理系統,即資料庫。
重要名詞:
Relational Database Management System,簡稱RDMS。
關聯式資料庫是一組資料項目,項目之間具有預先定義的關係。
這些項目會整理成由直欄和橫列構成的一組表格
Data Type
)的資料Primary Key
)加以標記,Data schema
學號 | 姓名 | 電話 |
---|---|---|
INTEGER | CHAR(50) | CHAR(50) |
Data Table
學號 | 姓名 | 電話 |
---|---|---|
S1300001 | AAA | 0911-123-123 |
S1300001 | AAA | 0911-123-123 |
S1300001 | AAA | 0911-123-123 |
常見的RDMS:MySQL, PostgreSQL
又稱NOSQL,使用key-value方式儲存資料
Structured Query Language:結構化查詢語言,是一種領域特定語言(domain-specific language、DSL),專注於某個應用程式領域的計算機語言
SQL語言基本指令:
INSERT
: 在資料表插入一筆新記錄UPDATE
: 更新資料表的記錄,這些記錄是已經存在的記錄DELETE
: 刪除資料表的記錄SELECT
: 查詢資料表的記錄,使用條件子句查詢資料表符合條件的記錄ORM, Object-relational mapping,利用物件導向的語法來對應SQL指令,有以下優點
Django的資料庫模組,就是使用ORM的方式存取資料庫。
activate.bat
Stack Builder
postgres
5432
)Default Locale
)pip install psycopg2
MacOS開發者,請使用以下指令啟動
$ brew servicesc start postgresql
版本號碼
\binset PGUSER=postgres
set PGPASSWORD=postgres
createdb blogdb
createuser -P dbuser
dbuser
psql
grant all privileges on database blogdb to dbuser;
\q
編輯 blog/settings.py
python manage.py makemigrations
python manage.py migrate
以上,就完成資料庫的基礎安裝跟設定。
article/models.py
建立Article
與Comment
這兩個Data Modelpython manage.py makemigrations
python manage.py migrate
常用的欄位資料型態
python manage.py createsuperuser
自己寫
admin12345
admin12345
看到以下訊息表示建立成功
Superuser created successfully
article/admin.py
登記資料表在瀏覽器網址列輸入localhost:8000/admin/
即可進入管理者頁面
populate
populate
新建一個檔案 __init__.py,空白即可populate
新建一個檔案 base.py,內容如下populate
新建一個檔案 article.py,內容如下