1. 資料庫架構是什麼
問題一:sql server中的架構是什麼意思? 通俗點說就是一個組,裡面可以存放表、視圖、存儲過程等
主要是用於許可權控制安全控制的
問題二:什麼是架構,SQL中的架構有哪些 架構(Schema)是形成單個命名空間的資料庫實體的 *** 。
命名空間是一個 *** ,其中每個元素的名稱都是唯一的。
可以將架構看成一個存放資料庫中對象的一個容器。
架構實際上在sqlserver2000中就已經存在,當我們使用查詢分析器去查詢一個表的時候,一個完整的表的名稱應該包括伺服器名.資料庫名.用戶名.對象名,而在sqlserver2005中一個表的完全限定名稱應該為伺服器名.資料庫名.架構名.對象名
在2000中,假如有一個賬戶tt在test資料庫中創建了一張表table1的時候,在伺服器上對查詢的語句應為select * from test.tt.table1,也就是說,在sqlserver 2000中一張表所屬的架構默認就是表的創建者的登錄名稱,用戶可以和修改他所創建的所有資料庫對象。
問題三:資料庫架構是什麼 參考有一個聲音再也不能的在耳邊響起,有一雙手再也握不住那手心的溫度與舒適。
問題四:數據架構是什麼 數據架構即資料庫架構
資料庫是相關數據的 *** ,一個資料庫含有各種成分,包括表、記錄、欄位、索引等。
1.資料庫(Database)
Visual Basic中使用的資料庫是關系型資料庫(Relational Database)。一個資料庫由一個或一組數據表組成。每個資料庫都以文件的形式存放在磁碟上,即對應於一個物理文件。不同的資料庫,與物理文件對應的方式也不一樣。對於dBASE,FoxPro和Paradox格式的資料庫來說,一個數據表就是一個單獨的資料庫文件,而對於Microsoft Access、Btrieve格式的資料庫來說,一個資料庫文件可以含有多個數據表。
2.數據表(Table)
簡稱表,由一組數據記錄組成,資料庫中的數據是以表為單位進行組織的。一個表是一組相關的按行排列的數據;每個表中都含有相同類型的信息。表實際上是一個二維表格,例如,一個班所有學生的考試成績,可以存放在一個表中,表中的每一行對應一個學生,這一行包括學生的學號,姓名及各門課程成績。
3.記錄(Record)
表中的每一行稱為一個記消蘆錄,它由若干個欄位組成。
4.欄位(Field)
也稱域。表中的每一列稱為一個欄位。每個欄位都有相應的描述信息,如數據類型、數據寬度等。
5.索引(Index)
為了提高訪問資料庫的效率,可以對資料庫使用索引。當資料庫較大時,為了查找指定的記錄,則使用索引和不使用索引的效困鬥率有很大差別。索引實際上是一種特殊類型的表,其中含有關鍵欄位的值(由用戶定義)和指向實際記錄位置的指針,這些值和指針按照特定的順序(也由用戶定義)存儲,從而可以以較快的速度查找到所需要的數據記錄。
6.查詢(Query)
一條SQL(結構化查詢語言)命令,用來從一個或多個表中獲取一組指定的記錄,或者對某個表執行指定的操作。當從資料庫中讀取數據時,往往希望讀出的數據符合某些條件,並且能按某個欄位排序。使用SQL,可以使這一操作容易實現而且更加有效。SQL是非過程化語言(有人稱為第四代語言),在用它查找指定的記錄時,只需指出做什麼,不必說明汪橋磨如何做。每個語句可以看作是一個查詢(query),根據這個查詢,可以得到需要的查詢結果。
7.過濾器(Filter)
過濾器是資料庫的一個組成部分,它把索引和排序結合起來,用來設置條件,然後根據給定的條件輸出所需要的數據。
8.視圖(view)
數據的視圖指的是查找到(或者處理)的記錄數和顯示(或者進行處理)這些記錄的順序。在一般情況下,視圖由過濾器和索引控制
問題五:資料庫中的文件組和架構有什麼不同?兩者之間的關系是什麼? 文件組 是 管理 物理文件的. 多個物理文件, 放在一個組裡面
架構 不知道你指的是不是 Schema.
如果是的話。
架構 是 邏輯上面的, 一個資料庫, 可以劃分為多個 架構, 每個 架構 存儲其獨有的業務數據。
SQL Server 默認使用一個 名為 dbo 的 構架。
問題六:資料庫-架構和資料庫-管理指的是什麼 資料庫架構:
下面是基於SQLserver資料庫來談的。貳
SQLServer經過這些年的發展,其實已經有很多很好的技術可以使用,如Replication、SSB、Cluster、Mirroring等(可以參考我在SQLServer DBA 三十問和SQLServer 高可用、高性能和高保護延伸 中的一些技術方面的知識),而且這些技術在可靠性方面已經通過了市場的認可,有很多公司在為提高其程序的可靠性、安全性和高效性等方面或多或少的採用了其中的某些技術,以下就我接觸過的這些技術方面的應用,主要針對網站這種流量很大,讀多寫少的應用,就資料庫架構方面做些探討,希望對各位有所幫助,如有不對的地方,歡迎大家指正和交流。
資料庫架構需要考慮的問題:
數據可靠和一致性;
數據容災;
當數據量和訪問壓力變大時,方便擴充;
高度可用,出問題時能及時恢復,無單點故障;
不應因為某一台機器出現問題,導致整網性能的急劇下降;
方便維護。
資料庫管理:
資料庫管理(Database Manager)是有關建立、存儲、修改和存取資料庫中信息的技術,是指為保證資料庫系統的正常運行和服務質量,有關人員須進行的技術管理工作。負責這些技術管理工作的個人或集體稱為資料庫管理員(DBA)。資料庫管理的主要內容有:資料庫的調優、資料庫的重組、資料庫的重構、資料庫的安全管控、報錯問題的分析和匯總和處理、資料庫數據的日常備份. 資料庫的建立:資料庫的設計只是提供了數據的類型、邏輯結構、聯系、約束和存儲結構等有關數據的描述。這些描述稱為數據模式。
問題七:oracle資料庫的結構是什麼? Oracle資料庫的體系結構包括四個方面:資料庫的物理結構、邏輯結構、內存結構及進程。
1. 物理結構
物理資料庫結構是由構成資料庫的操作系統文件所決定,Oracle資料庫文件包括:
數據文件(Data File)
數據文件用來存儲資料庫中的全部數據,例如資料庫表中的數據和索引數據.通常以為*.dbf格式,例如:userCIMS.dbf 。
日誌文件(Redo Log File)
日誌文件用於記錄資料庫所做的全部變更(如增加、刪除、修改)、以便在系統發生故障時,用它對資料庫進行恢復。名字通常為Log*.dbf格式,如:Log1CIMS.dbf,Log2CIMS.dbf 。
控制文件(Control File)
每個Oracle資料庫都有相應的控制文件,它們是較小的二進制文件,用於記錄資料庫的物理結構,如:資料庫名、資料庫的數據文件和日誌文件的名字和位置等信息。用於打開、存取資料庫。名字通常為Ctrl*ctl 格式,如Ctrl1CIMS.ctl。
配置文件
配置文件記錄Oracle資料庫運行時的一些重要參數,如:數據塊的大小,內存結構的配置等。名字通常為init*.ora 格式,如:initCIMS.ora 。
2 邏輯結構
Oracle資料庫的邏輯結構描述了資料庫從邏輯上如何來存儲資料庫中的數據。邏輯結構包括表空間、段、區、數據塊和模式對象。資料庫的邏輯結構將支配一個資料庫如何使用系統的物理空間.模式對象及其之間的聯系則描述了關系資料庫之間的設計.
一個資料庫從邏輯上說是由一個或多個表空間所組成,表空間是資料庫中物理編組的數據倉庫,每一個表空間是由段(segment)組成,一個段是由一組區(extent)所組成,一個區是由一組連續的資料庫塊(database block)組成,而一個資料庫塊對應硬碟上的一個或多個物理塊。一個表空間存放一個或多個資料庫的物理文件(即數據文件).一個資料庫中的數據被邏輯地存儲在表空間上。
表空間(tablespace)
Oracle資料庫被劃分為一個或多個稱為表空間的邏輯結構,它包括兩類表空間,System表空間和非System表空間,其中,System表空間是安裝資料庫時自動建立的,它包含資料庫的全部數據字典,存儲過程、包、函數和觸發器的定義以及系統回滾段。除此之外,還能包含用戶數據。。
一個表空間包含許多段,每個段有一些可以不連續的區組成,每個區由一組連續的數據塊組成,數據塊是資料庫進行操作的最小單位。
每個表空間對應一個或多個數據文件,每個數據文件只能屬於一個表空間。
資料庫塊(database block)
資料庫塊也稱邏輯塊或ORACLE塊,它對應磁碟上一個或多個物理塊,它的大小由初始化參數db-block-size(在文件init.ora中)決定,典型的大小是2k。Pckfree 和pctused 兩個參數用來優化數據塊空間的使用。
區(extent)
區是由一組連續的數據塊所組成的資料庫存儲空間分配的邏輯單位。
段(segment)
段是一個或多個不連續的區的 *** ,它包括一個表空間內特定邏輯結構的所有數據,段不能跨表空間存放。Oracle資料庫包括數據段、索引段、臨時段、回滾段等。
模式對象(schema object)
Oracle資料庫的模式對象包括表、視圖、序列、同意詞、索引、觸發器、存......>>
問題八:sql server中架構是什麼意思 架構(Schema)是一組資料庫對象的 *** ,它被單個負責人(可以是用戶或角色)所擁有並構成唯一命名空間。你可以將架構看成是對象的容器。
在 SQL Server 2000 中,用戶(User)和架構是隱含關聯的,即每個用戶擁有與其同名的架構。因此要刪除一個用戶,必須先刪除或修改這個用戶所擁有的所有資料庫對象。
在 SQL Server 2005 中,架構和創建它的資料庫用戶不再關聯,完全限定名(fully-qualified name)現在包含4個部分:server.database.schema.object
1. 體系結構(Architecture)
體系結構亦可稱為架構,所謂軟體架構,根據Perry 和Wolfe之定義:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是軟體主架構 = {組件元素,元素互助合作之模式,基礎要求與限制}。Philippe Kruchten採用上面的定義,並說明主架構之設計就是:將各組件元素以某些理想的合作模式組織起來,以達成系統的基本功能和限制。體系結構又分為多種樣式,如Pipes and Filters等。
2. 框架(Framework)
框架亦可稱為應用架構,框架的一般定義就是:在特定領域基於體系結構的可重用的設計。也可以認為框架是體系結構在特定領域下的應用。框架比較出名的例子就是MVC。
3. 庫(Library)
庫應該是可重用的、相互協作的資源的 *** ,供開發人員進行重復調用。它與框架的主要區別在於運行時與程序的調用關系。庫是被程序調用,而框架則調用程序。比較好的庫有JDK。
4. 設計模式(Design Pattern)
設計模式大家應該很熟悉,尤其四人幫所寫的書更是家喻戶曉。「四人幫」將模式描述為「在一定的環境中解決某一問題的方案」。這三個事物 ― 問題、解決方案和環境 ― 是模式的基本要素。給模式一個名稱,考慮使用模式將產生的結果和提供一個或多個示例,對於說明模式也都是有用的。
5. 平台(PlatForm)
由多種系統構成,其中也可以包含硬體部分。
對於以上的概念有一個比較清楚的認識之後,就可以在軟體的開發過程中進行應用。理論和實踐是缺一不可的,相輔相成的。沒有理論的指導,實踐就缺乏基礎;沒有實踐的證明,理論就缺乏依據,因此我一直認為:對於當代的程序員,在有一定的實踐基礎後,必須學習更深的理論知識。無論你是從那方面先開始學習的。
在軟體的開發過浮中,從許多過程實踐和方法中,大致可以提煉出五大步驟:需求、分析、設計、編碼、測試。而體系結構是軟體的骨架,是最重要的基礎。體系結構是涉及到每一步驟中。一般在獲取需要的同時,就應該開始分析軟體的體系結構。體系結構現在一般是各個大的功能模塊組合成,然後描述各個部分的關系。
我一般認為框架是體系結構中每個模塊中更細小的結構。如需要表示web技術,就會用到MVC框架,而web功能只是整個軟體體系中的一個功能模塊。每個框架可以有許多個實例,如用java實現的MVC框架structs。
而在框架之下就是設計模式,設計模式一般是應用中框架之中的,也可以說是對框架的補充。因為框架只是提供了一個環境,需要我們我裡面填入更多的東西。無論是否應用了設計模式,你都可以實現軟體的功能,而正確應用了設計模式,是我們對前人軟體的設計或實現方法的一種繼承,從而讓你的軟體更軟。
體系結構是可以從不同視角來進......>>
問題九:oracle資料庫的架構是什麼? oracle 資料庫架構本質上是C/S結構的。 伺服器與客戶端是分開的,即時伺服器和客戶端是在同一機器上,他們也是按照客戶端/伺服器模式運行的,他們之間的進程是分開的。 希望能幫助你。
問題十:資料庫中擁有的架構與成員身份有什麼區別? 不同許可權組合或單獨就構成常角色。
不同用戶創建的資料庫對象不可能放在放在一起,因此就出現了容器就是所謂的架構,架構就是單個命名空間的數據實體的 ***
2. sql server中的架構是什麼意思
在sqlserver 2005中,可能大家在工作或學習的時候會經常發現這樣一些問題,你使用一個賬戶在資料庫中創建了一張表,卻發現你自己創建的表卻沒有修改和查詢的許可權,這是一件很郁悶的事情,在sqlserver2000中卻不存在這樣的問題,那為什麼在2005中會出現這樣的事情,這樣的設置可以帶來哪些好處?其實導致這一問題的原因主要在於2005中多了一個新的概念—架構。
首先我們來看一下msdn中對架構的定義:架構(Schema)是形成單個命名空間的資料庫實體的集合。命名空間是一個集合,其中每個元素的名稱都是唯一的。在這里,我們可以將架構看成一個存放資料庫中對象的一個容器。
架構實際上在sqlserver2000中就已經存在,當我們使用查詢分析器去查詢一個表的時候,一個完整的表的名稱應該包括伺服器名.資料庫名.用戶名.對象名,而在sqlserver2005中一個表的完全限定名稱應該為伺服器名.資料庫名.架構名.對象名
在2000中,假如有一個賬戶tt在test資料庫中創建了一張表table1的時候,在伺服器上對查詢的語句應為select * from test.tt.table1,也就是說,在sqlserver 2000中一張表所屬的架構默認就是表的創建者的登錄名稱,用戶可以和修改他所創建的所有資料庫對象。但在2005中已經將用戶和其創建對象所屬架構的關聯取消了,而加入了一個全新的架構體系,這樣做的優點主要在於下面幾個方面:
1. 多個用戶可以通過角色(role)或組(Windows groups)成員關系擁有同一個架構。
2. 刪除資料庫用戶變得極為簡單。
3. 共享預設架構使得開發人員可以為特定的應用程序創建特定的架構來存放對象,這比僅使用管理員架構(DBO schema)要好。
4. 在架構和架構所包含的對象上設置許可權(permissions)比以前的版本擁有更高的可管理性。
5. 區分不同業務處理需要的對象,例如,我們可以把公共的表設置成pub的架構,把銷售相關的設置為sales,這樣管理和訪問起來更容易.
3. sql是什麼意思
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式。
所以具有完全不同底層結構的不同資料庫系統,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
用途:更新表中原有數據
單獨使用,使用where匹配欄位。
例:
「Person」表中的原始數據:
LastName FirstName Address City。
Nilsen Fred Kirkegt 56 Stavanger。
Rasmussen Storgt 67。
運行下面的SQL將Person表中LastName欄位為」Rasmussen」的FirstName更新為」Nina」。
UPDATE Person SET FirstName = 'Nina' WHERE LastName = 'Rasmussen'。
4. SQL資料庫是什麼
SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。
SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為"基本表"(base table);存儲模式(內模式)稱為"存儲文件"(stored file);子模式(外模式)稱為"視圖"(view);元組稱為"行"(row);屬性稱為"列"(column)。
(4)架構介紹sql擴展閱讀:
SQL資料庫的優點:
1、易用性高:
適合分布式組織的可伸縮性、用於決策支持的數據倉庫功能、與許多其他伺服器軟體緊密關聯的集成性、良好的性價比等。
2.為數據管理與分析帶來了靈活性:
允許單位在快速變化的環境中從容響應,從而獲得競爭優勢。從數據管理和分析角度看,將原始數據轉化為商業智能和充分利用Web帶來的機會非常重要。作為一個完備的資料庫和數據分析包,SQLServer為快速開發新一代企業級商業應用程序、為企業贏得核心競爭優勢打開了勝利之門。
5. 如何理解sql serve 2008的體系結構
SQL Server 2008系統由4個主要部分組成,這4個部分被稱為4個服務,分別是上面的數據引擎、分析服務、報表服務和集成服務。這些服務之間相互依存。
資料庫引擎是(SQL Server Database Engine,SSDE)是SQL Server 2008系統的核心服務,負責完成業務數據的存儲、處理、查詢和安全管理等操作。例如:創建資料庫、創建表、執行各種數據查詢、訪問資料庫等操作都是由資料庫引擎完成的。在大多數情況下,使用資料庫系統實際上就是使用資料庫引擎。例如,在某個使用SQL Server 2008系統作為後台資料庫的航空公司機票銷售信息系統中,SQL Server 2008系統的資料庫引擎服務負責完成機票數據的添加、跟新、刪除、查詢及安全控制等操作。
分析服務(SQL Server Analysis Server ,SSAS)提供了多維分析和數據挖掘功能,可以支持用戶建立資料庫和進行商業智能分析。相對多維分析(有時也稱為OLAP,即:Online Analysis Processing,中文直接為聯機分析處理)來說,OLTP (Online Transaceion Processing ,聯機事務處理)是由資料庫引擎負責完成的,使用SSAS服務,可以設計、創建和福管理包含來自於其他數據源數據的多維結構,銅鼓哦對多維數據進行多個角度的分心,可以支持管理人員業務數據的風全面的理解。另外,通過使用SSAS服務,用戶可以完成數據挖掘模型的構造和應用,實現知識發現、知識表示、知識管理和知識共享。
報表服務(SQL Server Reporting Services ,SSRS)為用戶提供了支持Web的企業級的報表功能。通過使用SQL Server 2008系統提供的SSRS服務,用戶可以方便地定義和發展布滿足自己需求的報表。無論是報表的局部格式,還是報表的數據源,用戶都可以輕松地實現,這種服務極大地便利了企業的管理工作。滿足了管理人員高效、規范的管理需求。
集成服務(SQL Server Integration Sevives,SSIS)是一個數據集成平台,可以完成有關數據的提取、轉換、載入等。例如:對於分析服務來說,資料庫引擎是一個重要的數據源,如何將數據源中的數據經過適當的處理載入到分析服務匯中,以便進行各種分析處理,正式SSIS服務索要解決的問題。重要的是SSIS服務可以高效地處理各種各樣的數據源,除了SQL Server數據之外,還可以處理Oracle、Excel、XML文檔、文本文件等數據源中的數據。
SQL Server 2008是一個提供了聯機失誤處理、數據倉庫、電子商務應用的資料庫和數據分析的平台。體系架構是描述系統組成要素和要素之間關系的方式。SQL Server 2008系統的系統結構是對SQL Server 2008的主要組成部分和這些組成部分之間關系的描述。
6. 什麼是架構,SQL中的架構有哪些
架構(Schema)是一組資料庫對象的集合,它被單個負責人(可以是用戶或角色)所擁有並構成唯一命名空間。你可以將架構看成是對象的容器。
在 SQL Server 2000 中,用戶(User)和架構是隱含關聯的,即每個用戶擁有與其同名的架構。因此要刪除一個用戶,必須先刪除或修改這個用戶所擁有的所有資料庫對象。
在 SQL Server 2005 中,架構和創建它的資料庫用戶不再關聯,完全限定名(fully-qualified name)現在包含4個部分:server.database.schema.object
1. 體系結構(Architecture)
體系結構亦可稱為架構,所謂軟體架構,根據Perry 和Wolfe之定義:Software Architecture = {Elements,Forms, Rationale / Constraint },也就是軟體主架構 = {組件元素,元素互助合作之模式,基礎要求與限制}。Philippe Kruchten採用上面的定義,並說明主架構之設計就是:將各組件元素以某些理想的合作模式組織起來,以達成系統的基本功能和限制。體系結構又分為多種樣式,如Pipes and Filters等。
2. 框架(Framework)
框架亦可稱為應用架構,框架的一般定義就是:在特定領域基於體系結構的可重用的設計。也可以認為框架是體系結構在特定領域下的應用。框架比較出名的例子就是MVC。
3. 庫(Library)
庫應該是可重用的、相互協作的資源的集合,供開發人員進行重復調用。它與框架的主要區別在於運行時與程序的調用關系。庫是被程序調用,而框架則調用程序。比較好的庫有JDK。
4. 設計模式(Design Pattern)
設計模式大家應該很熟悉,尤其四人幫所寫的書更是家喻戶曉。「四人幫」將模式描述為「在一定的環境中解決某一問題的方案」。這三個事物 — 問題、解決方案和環境 — 是模式的基本要素。給模式一個名稱,考慮使用模式將產生的結果和提供一個或多個示例,對於說明模式也都是有用的。
5. 平台(PlatForm)
由多種系統構成,其中也可以包含硬體部分。
對於以上的概念有一個比較清楚的認識之後,就可以在軟體的開發過程中進行應用。理論和實踐是缺一不可的,相輔相成的。沒有理論的指導,實踐就缺乏基礎;沒有實踐的證明,理論就缺乏依據,因此我一直認為:對於當代的程序員,在有一定的實踐基礎後,必須學習更深的理論知識。無論你是從那方面先開始學習的。
在軟體的開發過程中,從許多過程實踐和方法中,大致可以提煉出五大步驟:需求、分析、設計、編碼、測試。而體系結構是軟體的骨架,是最重要的基礎。體系結構是涉及到每一步驟中。一般在獲取需要的同時,就應該開始分析軟體的體系結構。體系結構現在一般是各個大的功能模塊組合成,然後描述各個部分的關系。
我一般認為框架是體系結構中每個模塊中更細小的結構。如需要表示web技術,就會用到MVC框架,而web功能只是整個軟體體系中的一個功能模塊。每個框架可以有許多個實例,如用java實現的MVC框架structs。
而在框架之下就是設計模式,設計模式一般是應用中框架之中的,也可以說是對框架的補充。因為框架只是提供了一個環境,需要我們我裡面填入更多的東西。無論是否應用了設計模式,你都可以實現軟體的功能,而正確應用了設計模式,是我們對前人軟體的設計或實現方法的一種繼承,從而讓你的軟體更軟。
體系結構是可以從不同視角來進行分析的,所以軟體體系結構的設計可以按照不同的視角來進行的。按4+1 views的論述,那是四種views:邏輯、開發、過程、物理和場景。因此體系結構是逐漸細化的,你不可能開始就拿出一個完美的體系結構,而只能根據開發過程逐漸對體系結構進行細化。
打個比方:如果我們准備建一個房子,那房子如果按功能來分:牆壁、地板、照明等,它是按那種樣式來組成的,房子是四方的還是圓形的等,這樣就組成了房子的體系結構。在體系結構之下,我們可以把框架應用在每個模塊中,例如牆壁,我們准備應用什麼框架。牆壁可以包括:窗戶、門等。窗戶和門的組成的就是一種框架。而窗戶是什麼形狀的或者是大還是小,是要為了實現屋內的亮度的,因此挑選什麼樣的窗戶就是設計模式。
7. mysql有哪些架構
了解MySql必須牢牢記住其體系結構圖,Mysql是由SQL介面,解析器,優化器,緩存,存儲引擎組成的
1 Connectors指的是不同語言中與SQL的交互
2 Management Serveices & Utilities: 系統管理和控制工具
3 Connection Pool: 連接池。
管理緩沖用戶連接,線程處理等需要緩存的需求
4 SQL Interface: SQL介面。
接受用戶的SQL命令,並且返回用戶需要查詢的結果。比如select from就是調用SQL Interface
5 Parser: 解析器。
SQL命令傳遞到解析器的時候會被解析器驗證和解析。解析器是由Lex和YACC實現的,是一個很長的腳本。
主要功能:
a . 將SQL語句分解成數據結構,並將這個結構傳遞到後續步驟,以後SQL語句的傳遞和處理就是基於這個結構的
b. 如果在分解構成中遇到錯誤,那麼就說明這個sql語句是不合理的
6 Optimizer: 查詢優化器。
SQL語句在查詢之前會使用查詢優化器對查詢進行優化。他使用的是「選取-投影-聯接」策略進行查詢。
用一個例子就可以理解: select uid,name from user where gender = 1;
這個select 查詢先根據where 語句進行選取,而不是先將表全部查詢出來以後再進行gender過濾
這個select查詢先根據uid和name進行屬性投影,而不是將屬性全部取出以後再進行過濾
將這兩個查詢條件聯接起來生成最終查詢結果
7 Cache和Buffer: 查詢緩存。
如果查詢緩存有命中的查詢結果,查詢語句就可以直接去查詢緩存中取數據。
這個緩存機制是由一系列小緩存組成的。比如表緩存,記錄緩存,key緩存,許可權緩存等
8 Engine :存儲引擎。
存儲引擎是MySql中具體的與文件打交道的子系統。也是Mysql最具有特色的一個地方。
Mysql的存儲引擎是插件式的。它根據MySql AB公司提供的文件訪問層的一個抽象介面來定製一種文件訪問機制(這種訪問機制就叫存儲引擎)
現在有很多種存儲引擎,各個存儲引擎的優勢各不一樣,最常用的MyISAM,InnoDB,BDB
默認下MySql是使用MyISAM引擎,它查詢速度快,有較好的索引優化和數據壓縮技術。但是它不支持事務。
InnoDB支持事務,並且提供行級的鎖定,應用也相當廣泛。Mysql也支持自己定製存儲引擎,甚至一個庫中不同的表使用不同的存儲引擎,這些都是允許的。
8. sql server 中創建架構,架構是干什麼用的,為什麼要創建架構,有什麼好處
SQL Server 中的 架構 ( schema )
與 軟體構架 與 架構師 的不是同一個概念
schema 是用於 在一個 大項目中的 各個 小項目
每個 小項目的表, 放在 各自的 schema 下面.
這樣, 遇到 小項目裡面. 有 相同名字的 表的話, 不會發生沖突.
例如一個 公司的 系統.
裡面分2個 子系統, 分別為 財務系統 和 人力資源系統.
這2個 子系統, 共用一個資料庫
.
那麼 財務系統的表, 可以放在 財務的 schema.
人力資源系統的表,放在 人力資源系統的模式裡面。
這2個 子系統, 能夠 互相訪問 對方的表
但是又不因為 表重名 的問題,影響對方。
體系結構是下面這個樣子的
[伺服器名稱].[資料庫名稱].[構架名稱].[表名]
create database --> 創建一個資料庫
create schema --> 創建一個構架
當你在 SQL Server 裡面, 使用 create database 創建一個資料庫以後。
你可以不必額外的去創建 schema
因為 SQL Server 會 自動的創建一個 名字叫 dbo 的 schema
9. Sybase SQL Server體系結構介紹
Sybase SQL Server是一個多庫結構的RDBMS 體系結構大致中做如下
資料庫
伺服器自身所使用的資料庫 也可以說是管理伺服器和用戶資料庫的資料庫 Sybase在安裝時 自動創建了四個系統資料庫
master model tempdb sybsystemprocs
) master資料庫
它是管理和控制用戶資料庫以及維護伺服器正常運行的核心資料庫 它保存了大量的系統信息 如伺服器配置 用戶 設備等
在master資料庫中不允許普通用戶在其中創建資料庫對象 否則會使得master資料庫的事務日誌很快變滿 如果事務日誌用盡 就無法使用mp transaction命令釋放master資料庫中的空間
)model資料庫
它是為創建用戶資料庫而提供的模板 每當創建新的資料庫時 SQL Server自動建立model資料庫的一份拷貝 並把它擴充到用戶所要求的大小 以此作為新用戶資料庫
Model資料庫中包含每個用戶資料庫所要求的系統表 Model資料庫可以被修改以便定製新創建的
)tempdb資料庫
它是個臨時資料庫 為伺服器運行與處理提供一個共享的存儲區域 如group by和order by的中間結果就存放在這里 Tempdb的空間為伺服器中所有資料庫的所有用戶所共享
每次重啟SQL Server 伺服器的一個自動進程都拷貝model資料庫到tempdb資料庫 並清除tempdb中原來的內容 因此tempdb中的用戶表都是臨時的 臨時表分為兩類 可共享的和不可共享的 不可共享的臨時表在由create table中將符號#置於表名之掘培桐前創立;可共享的臨時表通過create table中指定表名前綴tempdb 而創立 不可共享的臨時表SQL Server自動為其添加數字後綴名 且它只存在於當前會話中
)sybsystemprocs資料庫master資料庫
它是專門用來保存系統命令(存儲過程)的資料庫 如sp_help sp_configure sp_helpdevice等 當任一資料庫用戶運行以sp_開頭的存儲過程時 SQL Server按照以下順序查找 當前資料庫 sybsystemprocs資料庫 master資料庫
用戶資料庫
用戶資料庫是我們使用Sybase伺服器的真正目的 要管理用戶數據 必須在判坦Sybase中創建自己的資料庫 它是指用create database命令創建的資料庫 不能存取master資料庫的用戶是無權創建新的資料庫的
資料庫中的主要內容——資料庫對象
表 視圖 臨時表
索引 主鍵 外鍵
預設值 規則
lishixin/Article/program/Sybase/201311/11220
10. 理解SQL SERVER中所有者和架構的區別
理解SQL SERVER中所有者和架構的區別
SQL SERVER2005介紹了架構,架構相對於以前版本中的對象所有者。本文將解釋這兩者的區別,並希望能解開你至今仍對架構一點困惑。
對象所有者
要理解所有者和架構之間的區別,讓我們先花點時間來復習一下對象的所有權。在SQL SERVER2000或以前版本中創建一個對象,對象必須要有一個所有者(owner)。大部分情況,所有者為「dbo(資料庫所有者)」。一個對象可以被資料庫中沖激首任何一個用戶所擁有。判斷一個對象的所有者的方法是在企業管理器或Manager Stdio中瀏覽表的列表時查看對象的全限定名稱(full qualified)。比如,一個由dbo所擁有的表orders其全限定名為dbo.orders。如果該表的所有權轉移至用戶abc,那麼該表現在的全限定名為abc.orders。
對象是如何屬於某個所有者的呢?這依賴於創建對象時的用戶。 也有可能是db_owner角色成員創建了一個由資料庫中任何對象所擁有的對象。預設情況下,創建對象的用戶賬號(該賬戶必須擁有CREATE TABLE的許可權)也是對對象的所有者。只有db_owner角色成員可以創建由dbo所擁有的對象。即使那樣,在某些情況下,對象的所有者還可能是實際的用戶而不是dbo。
使用dbo作為資料庫中所有對象的所有者可以簡化對象的管理。因為資料庫中永遠都會有dbo用戶的。資料庫中的用戶只要有許可權可以不用指定所有者名稱就可以存取由dbo擁有的對象了。如果一個對象不是被dbo所有用,那麼該所有者將要被刪除時,必須將對象的所有權轉移給其他用戶。比如有一個非dbo用戶ted創建了sales表,該表名稱為ted.sales。如果ted以外的用戶想使用此表,那麼必須使用表的全限定名來指定。如果ted離開了公司或部門,那麼他的資料庫用戶賬號必須得刪除。在刪除前,ted所擁有的對象必須使用存儲過程sp_changeobjectowner將所有權轉移至其他用戶賬號。
如果這個表在應用程序或者其他存儲過程中使用過,改變表的所有者可能導致所有的代碼出錯。如果一開始該表就被dbo所擁有,那麼即使刪除了ted賬號也沒有關系。代碼也不需要使用全限定名——這樣可能損失點性能——來指定對象,這被認為是最實用的方法。
架構
我喜歡將架構想像成一個組織對象的容器。如果你看一下adventureworks樣例資料庫,你會發現表是按照部門或者功能組織起來的,比如「HumanResources」或者「Proction」(圖一)。這看起來有點像老的擁有者概念鉛春,但卻擁有許多益處。首先,因為對象不再綁定到用戶賬號上,所以你根本不用擔心當一個賬號被刪除時需要變換對象的擁有者。另一個好處是使用架構可以簡化表和其他的對象的許可權管理。每個架構都有其所有者,但是所有者和架構名是不綁定的。散數所有當一個用戶擁有一個架構,並且這個用戶必須從資料庫中刪除時,可以不用破壞任何代碼而僅僅是將架構的所有者變一下。如果你不希望用架構來組織資料庫中的對象,只用dbo架構就行了。