文章

目前顯示的是 三月, 2018的文章

EasyPHP的httpd.conf設定

圖片
EasyPHP的httpd.conf會有兩個,一個放在EasyPHP目錄下binaries\conf_files\httpd.conf,另外一個在EasyPHP目錄下binaries\apache\conf\httpd.conf。 原則上,我們是要編輯 EasyPHP目錄下binaries\conf_files\httpd.conf ,另外一個httpd.conf不要管他,他是系統會自動處理更新的檔案。 httpd.conf設定重點 : (1) ServerRoot "${path}/binaries/apache" 這是指http的伺服器啟動的根目錄,這個不需要去修改。 (2) Listen 127.0.0.1:80 這是指啟動的IP與PORT,如果避免衝到PORT,可以修改為 Listen 127.0.0.1:8080 或是其他的PORT。 (3) ServerName 127.0.0.1:80 這個跟上面一樣。 (4) DocumentRoot "${path}/data/localweb" 這是瀏覽器打開 localhost 之後,網頁的根目錄所在。

什麼是DFD (Data Flow Diagram 資料流程圖) ?

圖片
資料流圖DFD是描述系統中資料流程的一種圖形工具,它標誌了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換邏輯輸出所需的加工處理。 資料流圖是從資料的角度來描述一個系統,他只描述WHAT而不描述HOW。所以資料流圖並不會看到詳細的程序流程,只看到程序與資料流的關係。 如果系統的規模較大,為了降低系統的複雜性,一般採取「逐層分解」的方法,繪製分層的DFD。 DFD的表示法 : DFD的範例 : 訂餐系統 Level 0 DFD (通常不包含 data store) Level 1 DFD (拆解Level 0 的程序) DFD 與 ERD 有何關係呢? 可以透過DFD的實體(Entity)與Data Store,知道應該包含那些資料。 在DFD之後,如果要更清楚的描繪整個系統,就可以使用 UML Diagram 。

如何將ERD轉換為邏輯資料?

圖片
(1) 把每個[實體]都做成一個[表單],實體的[屬性]就是[欄位] , 並訂下主鍵(PK)。 例如 : Person (person_id, Name, Lastname, Email, Phone) (2) 當存在多值屬性時(如Phone),該多值屬性也變成一個表格。 例如 : Person (person_id, Name, Lastname, Email) 以及 Phone (person_id, phone_id, phone_number) (3) 當出現弱屬性時,該弱屬性可以由其他屬性得知,則該弱屬性不必成為一個欄位。 例如 : age可以由生日計算得知,age則不必成為一個欄位。 (4) 當實體A與實體B為 1:1 時,A表單加上FK連到B表單PK,或是B表單加上FK連到A表單 PK。 A(aid,a1,a2 …, bid) B(bid,b1,b2 …) 或是 A(aid,a1,a2 …) B(bid,b1,b2 …, aid) 以上A表單的bid為FK連接到B表單的bid (PK) 以上B表單的aid為FK連接到A表單的aid (PK) (5) A實體與B實體為 1:N,B表單加上FK連到A表單的PK。  A(aid,a1,a2 …) B(bid,b1,b2 …, aid) 以上B表單的aid為FK連接到A表單的aid (PK) (6) A實體與B實體為 N:N,AB間的關聯C會變成表單,C表單多出兩個FK,一個到A 一個到B。 A(aid,a1,a2 …) B(bid,b1,b2 …) C(cid,aid,bid …) (7) 如果[關聯]有屬性,則該[關聯]會變成一個[表單],關聯的[屬性]就成為其中[欄位],再加上實體的主鍵為其中的[欄位] 。 練習 : https://www.mysql.tw/2015/04/blog-post.html https://www.mysql.tw/2014/03/er-model.html

Database Design

圖片
(1)資料庫需求收集與分析 Requirement Collection and Analysis 使用的工具就是DFD (Data Flow Diagram 資料流程圖),DFD是描述系統中資料流程的一種圖形工具,它標誌了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換邏輯輸出所需的加工處理。 值得注意的是,資料流圖不是傳統的流程圖或框圖,資料流也不是控制流。 參考 : https://www.visual-paradigm.com/tutorials/data-flow-diagram-dfd.jsp http://web.ydu.edu.tw/~alan9956/docu3/0992sa/sa04_dfd.pdf (2)資料庫概念設計 Conceptual Database Design 概念塑模(Conceptual Data Model)使用的工具,就是實體關係模型(Entity Relationship Model),最後會產生實體關係圖(Entity Relationship Diagram)。 參考 : https://www.mysql.tw/2013/03/entity-relationship-model.html https://www.lucidchart.com/pages/er-diagrams https://www.smartdraw.com/entity-relationship-diagram/ http://www.conceptdraw.com/How-To-Guide/erd-entity-relationship-diagram-symbols (3)選擇資料庫系統 Choice of DBMS 根據費用、技術、以及其他可能因素,來決定使用哪種資料庫系統。 (4)資料庫邏輯設計 Logical Database Design 邏輯塑模(Logical Data Model)使用的工具,就是關聯模型(Relational Model),最後會產生資料表的定義關聯綱目(schema)。例如經過正規化 (Normalization),得到更準確的資料庫結構。 關聯模型(Relational Model) :  https://en.wikipedia.org/wiki/C

資料庫的好處有哪些?

圖片
資料庫的好處有哪些? (1) 達成資料的一致性 (Data Consistency) 例如如果學號A0001的學生,姓名從「王曉明」改為「王大明」,則所有地方抓出學號A0001的學生,姓名都會是「王大明」。 (2) 達成資料的共享性 (Data Sharing) 指同一份資料可以共享給多個人員或是應用程式。 (3) 達成資料的獨立性 (Data Independence) 資料與應用程式是分開的,修改應用程式並不會影響資料。 (4) 達成資料的完整性 (Data Integrity) 例如當資料不能刪除時,不會因為操作錯誤而引起錯誤。也就是資料會因為其間的關聯,而維持應該有的關係。 (5) 達成資料的安全性 (Data Security) 例如資料可以加密,或是可以分為不同權限等。 (6) 降低資料的重複性 (Redundancy) 不需要相同資料一再出現,只需要關聯即可。 (7) 避免紙張的浪費 (Paper Waste)  可以數位式儲存,不需要列印出來。