數據與設計
⑴ 什麼是資料庫的概念設計,邏輯設計,物理設計,以及三者的關系
1.概念設計;對用戶要求描述的現實世界(可能是一個工廠、一個商場或者一個學校等),通過對其中住處的分類、聚集和概括,建立抽象的概念數據模型。這個概念模型應反映現實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。所建立的模型應避開資料庫在計算機上的具體實現細節,用一種抽象的形式表示出來。以擴充的實體—(E-R模型)聯系模型方法為例,第一步先明確現實世界各部門所含的各種實體及其屬性、實體間的聯系以及對信息的制約條件等,從而給出各部門內所用信息的局部描述(在資料庫中稱為用戶的局部視圖)。第二步再將前面得到的多個用戶的局部視圖集成為一個全局視圖,即用戶要描述的現實世界的概念數據模型。
2.邏輯設計;主要工作是將現實世界的概念數據模型設計成資料庫的一種邏輯模式,即適應於某種特定資料庫管理系統所支持的邏輯數據模式。與此同時,可能還需為各種數據處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂「邏輯資料庫」。
3.物理設計;根據特定資料庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。這一步設計的結果就是所謂「物理資料庫」。
4.三者關系:由上到下,先要概念設計,接著邏輯設計,再是物理設計,一級一級設計。
⑵ 畢業設計是要把項目所有的數據都算出來嗎
畢業設計要把項目中重點的數據都要算出來,因為畢竟是有畢業設計要有自己的創新和實踐。
⑶ 概要設計與詳細設計的區別
概要設計與詳細設計的區別如下:
1、概要設計的主要任務是把需求分析得到的系統擴展用例圖轉換為軟體結構和數據結構。設計軟體結構的具體任務是:將一個復雜系統按功能進行模塊劃分、建立模塊的層次結構及調用關系、確定模塊間的介面及人機界面等。數據結構設計包括數據特徵的描述、確定數據的結構特性、以及資料庫的設計。顯然,概要設計建立的是目標系統的邏輯模型.
2、詳細設計是軟體工程中軟體開發的一個步驟,就是對概要設計的一個細化,就是詳細設計每個模塊實現演算法,所需的局部結構。在詳細設計階段,主要是通過需求分析的結果,設計出滿足用戶需求的嵌入式系統產品。
3、概要設計階段通常得到軟體結構圖 ,詳細設計階段常用的描述方式有:流程圖、N-S圖、PAD圖、偽代碼等 。
4、詳細設計階段就是為每個模塊完成的功能進行具體的描述,要把功能描述轉變為精確的、結構化的過程描述。
(3)數據與設計擴展閱讀
設計是把一種設想通過合理的規劃、周密的計劃、通過各種感覺形式傳達出來的過程。人類通過勞動改造世界,創造文明,創造物質財富和精神財富,而最基礎、最主要的創造活動是造物。設計便是造物活動進行預先的計劃,可以把任何造物活動的計劃技術和計劃過程理解為設計。
設計(Design)是為構建有意義的秩序而付出的有意識的直覺上的努力。更詳細的定義如下:
第一步:理解用戶的期望、需要、動機,並理解業務、技術和行業上的需求和限制。
第二步:將這些所知道的東西轉化為對產品的規劃(或者產品本身),使得產品的形式、內容和行為變得有用、能用,令人嚮往,並且在經濟和技術上可行。(這是設計的意義和基本要求所在)
⑷ 有關資料庫和程序設計
C,來C++,Java 等各種編程語言,就源像是斧子、鑿子、鋸子等,他們都是工具;而 MFC 是出自微軟的輔助他自己的工具的工具。
資料庫就好比一段木頭,是工具雕琢的對象。
沒有資料庫,就如沒有作用對象,工具的功能無處發揮;沒有工具,資料庫是一個死庫。兩者缺一不可。
樓主現在修煉的方向是怎樣更好的使用工具,是朝程序員、編碼、軟體工程師方向去了,忽視了另一根支柱的重要性,資料庫本身是一門大學問,有一套規范的理論指導的,資料庫設計這個環節是先於後面應用開發的,即通常說的結構設計與行為設計。
C、C++、Java 等與 SQL 是怎麼配合的,可以概括的理解為:高級語言指揮SQL命令去操縱資料庫。
⑸ 如何合理和有效的進行資料庫設計
通常情況下,可以從兩個方面來判斷資料庫設計的是否規范:
1)一是看看是否擁有大量的窄表
窄表往往對於OLTP比較合適,符合範式設計原則
2)寬表的數量是否足夠的少。
所謂的寬表就是欄位比較多的表,包含的維度層次比較多,造成冗餘也比較多,毀範式設計,但是利於取數統計
若符合這兩個條件,我們可以說資料庫設計的比較好.
當然這是兩個泛泛而談的指標。為了達到資料庫設計規范化的要求,一般來說,需要符合以下五個要求。
要求一:表中應該避免可為空的列。
雖然表中允許空列,但是,空欄位是一種比較特殊的數據類型。資料庫在處理的時候,需要進行特殊的處理。如此的話,就會增加資料庫處理記錄的復雜性。當表中有比較多的空欄位時,在同等條件下,資料庫處理的性能會降低許多。
所以,雖然在資料庫表設計的時候,允許表中具有空欄位,但是,我們應該盡量避免。若確實需要的話,我們可以通過一些折中的方式,來處理這些空欄位,讓其對資料庫性能的影響降低到最少。
要求二:表不應該有重復的值或者列。
如現在有一個進銷存管理系統,這個系統中有一張產品基本信息表中。這個產品開發有時候可以是一個人完成,而有時候又需要多個人合作才能夠完成。所以,在產品基本信息表產品開發者這個欄位中,有時候可能需要填入多個開發者的名字。
如進銷存管理中,還需要對客戶的聯系人進行管理。有時候,企業可能只知道客戶一個采購員的姓名。但是在必要的情況下,企業需要對客戶的采購代表、倉庫人員、財務人員共同進行管理。因為在訂單上,可能需要填入采購代表的名字;可是在出貨單上,則需要填入倉庫管理人員的名字等等。
為了解決這個問題,有多種實現方式。但是,若設計不合理的話在,則會導致重復的值或者列。如我們也可以這么設計,把客戶信息、聯系人都放入同一張表中。為了解決多個聯系人的問題,可以設置第一聯系人、第一聯系人電話、第二聯系人、第二聯系人電話等等。若還有第三聯系人、第四聯系人等等,則往往還需要加入更多的欄位。
所以,我們在資料庫設計的時候要盡量避免這種重復的值或者列的產生。筆者建議,若資料庫管理員遇到這種情況,可以改變一下策略。如把客戶聯系人另外設置一張表。然後通過客戶ID把供應商信息表跟客戶聯系人信息表連接起來。也就是說,盡量將重復的值放置到一張獨立的表中進行管理。然後通過視圖或者其他手段把這些獨立的表聯系起來。
要求三:表中記錄應該有一個唯一的標識符。
在資料庫表設計的時候,資料庫管理員應該養成一個好習慣,用一個ID號來唯一的標識行記錄,而不要通過名字、編號等欄位來對紀錄進行區分。每個表都應該有一個ID列,任何兩個記錄都不可以共享同一個ID值。另外,這個ID值最好有資料庫來進行自動管理,而不要把這個任務給前台應用程序。否則的話,很容易產生ID值不統一的情況。
另外,在資料庫設計的時候,最好還能夠加入行號。如在銷售訂單管理中,ID號是用戶不能夠維護的。但是,行號用戶就可以維護。如在銷售訂單的行中,用戶可以通過調整行號的大小來對訂單行進行排序。通常情況下,ID列是以1為單位遞進的。但是,行號就要以10為單位累進。如此,正常情況下,行號就以10、20、30依次擴展下去。若此時用戶需要把行號為30的紀錄調到第一行顯示。此時,用戶在不能夠更改ID列的情況下,可以更改行號來實現。如可以把行號改為1,在排序時就可以按行號來進行排序。如此的話,原來行號為30的紀錄現在行號變為了1,就可以在第一行中顯示。這是在實際應用程序設計中對ID列的一個有效補充。這個內容在教科書上是沒有的。需要在實際應用程序設計中,才會掌握到這個技巧。
要求四:資料庫對象要有統一的前綴名。
一個比較復雜的應用系統,其對應的資料庫表往往以千計。若讓資料庫管理員看到對象名就了解這個資料庫對象所起的作用,恐怕會比較困難。而且在資料庫對象引用的時候,資料庫管理員也會為不能迅速找到所需要的資料庫對象而頭疼。
其次,表、視圖、函數等最好也有統一的前綴。如視圖可以用V為前綴,而函數則可以利用F為前綴。如此資料庫管理員無論是在日常管理還是對象引用的時候,都能夠在最短的時間內找到自己所需要的對象。
要求五:盡量只存儲單一實體類型的數據。
這里將的實體類型跟數據類型不是一回事,要注意區分。這里講的實體類型是指所需要描述對象的本身。筆者舉一個例子,估計大家就可以明白其中的內容了。如現在有一個圖書館里系統,有圖書基本信息、作者信息兩個實體對象。若用戶要把這兩個實體對象信息放在同一張表中也是可以的。如可以把表設計成圖書名字、圖書作者等等。可是如此設計的話,會給後續的維護帶來不少的麻煩。
如當後續有圖書出版時,則需要為每次出版的圖書增加作者信息,這無疑會增加額外的存儲空間,也會增加記錄的長度。而且若作者的情況有所改變,如住址改變了以後,則還需要去更改每本書的記錄。同時,若這個作者的圖書從資料庫中全部刪除之後,這個作者的信息也就盪然無存了。很明顯,這不符合資料庫設計規范化的需求。
遇到這種情況時,筆者建議可以把上面這張表分解成三種獨立的表,分別為圖書基本信息表、作者基本信息表、圖書與作者對應表等等。如此設計以後,以上遇到的所有問題就都引刃而解了。
⑹ 資料庫分析與設計階段的順序是什麼
1、需求分析:了解用戶的數據需求、處理需求、安全性及完整性要求;回
2、概念設計答:通過數據抽象,設計系統概念模型,一般為E-R模型;
3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;
4、物理結構設計:設計數據的存儲結構和存取方法,如索引的設計;
5、系統實施:組織數據入庫、編制應用程序、試運行;
6、運行維護:系統投入運行,長期的維護工作。
⑺ 軟體數據獲取與資料庫設計
已知和預測礦化體分割的立方體中心點坐標、邊長與礦化值在前面章節中已經確 定,地面點位數據則通過數字化梅仙礦區1:1萬地形地質圖獲取。數字化工作在GIS軟體 ArcGIS中完成,地圖配准後均勻提取地面點位數據,保存其x,y,z坐標。
將軟體所需數據保存在Access資料庫中,建立總磁場異常成果資料庫,其數據表結 構設計如表8.1~表8.3所示。
其中地面DEM數據表保存地面點位數據;三維體元數據表保存已知和預測礦化體分 割的立方體中心點坐標、邊長與礦化值;總磁場異常成果數據表保存正演計算的地面點總 磁場異常值。
表8.1 數字高程數據表結構
表8.2 三維體元數據表結構
表8.3 總磁場異常成果數據表結構
⑻ 數據流程設計
1.系統與外部的數據交流
遙感圖像處理系統與外部的數據交流主要是直接同數據管理與資料庫子內系容統的交流,本系統所需要的數據如空間地質數據、遙感圖像數據、地質礦產專題數據從數據管理與資料庫子系統的基礎資料庫調入,產生的成果地質矢量專題圖件存入數據管理與資料庫子系統的成果資料庫。圖7-1為系統系統數據流程圖。
圖7-1 系統數據流程圖
遙感圖像處理系統選用ESRI公司的ArcSDE for Oracle作為空間資料庫引擎,實現空間數據、屬性數據、遙感圖像數據的無縫連接。圖7-2為本子系統與資料庫系統關系結構圖。
2.系統內部的數據流動
系統從綜合資料庫中將圖像數據、地質礦產數據、空間地質數據讀入後,經過圖像處理模塊、信息提取模塊獲得專題信息,再將這些數據輸出到資料庫。詳細流程見圖7-2。
⑼ 什麼是資料庫的概念設計、邏輯設計、物理設計,以及三者的關系
1、概念設計:
對用戶要求描述的現實世界(可能是一個工廠、一個商場或者一個學校等),通過對其中住處的分類、聚集和概括,建立抽象的概念數據模型。這個概念模型應反映現實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。
所建立的模型應避開資料庫在計算機上的具體實現細節,用一種抽象的形式表示出來。以擴充的實體—(E-R模型)聯系模型方法為例,第一步先明確現實世界各部門所含的各種實體及其屬性、實體間的聯系以及對信息的制約條件等,從而給出各部門內所用信息的局部描述。第二步再將前面得到的多個用戶的局部視圖集成為一個全局視圖,即用戶要描述的現實世界的概念數據模型。
2、邏輯設計:
主要工作是將現實世界的概念數據模型設計成資料庫的一種邏輯模式,即適應於某種特定資料庫管理系統所支持的邏輯數據模式。與此同時,可能還需為各種數據處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂「邏輯資料庫」。
3、物理設計:
根據特定資料庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。這一步設計的結果就是所謂「物理資料庫」。
4、三者關系:
由上到下,先要概念設計,接著邏輯設計,再是物理設計,一級一級設計。三者一環扣住一環,缺一不可,概念設計是前提,邏輯設計是紐扣,將概念設計和物理設計緊密聯系起來,物理設計的結果就是傳說中的「物理資料庫」也就是最後的結果。三者密不可分,缺一不可。
(9)數據與設計擴展閱讀
資料庫設計的基本步驟:
1、需求分析階段:准確了解與分析用戶需求(包括數據與處理),是整個設計過程的基礎,是最困難、最耗費時間的一步。
2、概念結構設計階段:是整個資料庫設計的關鍵,通過對用戶的需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型。從實際到理論。
3、邏輯結構設計階段:將概念結構轉換為某個DBMS所支持的數據模型,對其進行優化。優化理論。
4、資料庫物理設計階段:為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。選擇理論落腳點。
5、資料庫實施階段:運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果,建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行。理論應用於實踐。
6、資料庫運行和維護階段:資料庫應用系統經過試運行後即可投入正式運行。在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改。理論指導實踐,反過來實踐修正理論。
主要特點:
1、 實現數據共享:資料庫伺服器數據共享包含所有用戶可同時存取資料庫中的數據,也包括用戶可以用各種方式通過介面使用資料庫,並提供數據共享。
2、 減少數據的冗餘度:同文件系統相比,由於資料庫實現了數據共享,從而避免了用戶各自建立應用文件。減少了大量重復數據,減少了數據冗餘,維護了數據的一致性。
3、數據的獨立性:數據的獨立性包括邏輯獨立性(資料庫中資料庫的 邏輯結構和 應用程序相互獨立)和物理獨立性(數據物理結構的變化不影響數據的邏輯結構)。
4、數據實現集中控制:文件管理方式中,數據處於一種分散的狀態,不同的用戶或同一用戶在不同處理中其文件之間毫無關系。利用資料庫可對數據進行集中控制和管理,並通過 數據模型表示各種數據的組織以及數據間的聯系。
5、數據一致性和可維護性,以確保數據的安全性和可靠性主要包括:安全性控制:以防止數據丟失、錯誤更新和越權使用;完整性控制:保證數據的正確性、有效性和相容性;並發控制:使在同一時間 周期內,允許對數據實現多路存取,又能防止用戶之間的不正常交互作用。
6、故障恢復:由資料庫管理系統提供一套方法,可及時發現故障和修復故障,從而防止數據被破壞。資料庫系統能盡快恢復資料庫系統運行時出現的故障,可能是物理上或是邏輯上的錯誤。比如對系統的誤操作造成的數據錯誤等。