web 就是網(wǎng)站---表示層
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、網(wǎng)站設(shè)計、富陽網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、富陽網(wǎng)絡(luò)營銷、富陽企業(yè)策劃、富陽品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供富陽建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
BLL 業(yè)務(wù)處理===業(yè)務(wù)層
idal 數(shù)據(jù)接口-----接口層
dal 數(shù)據(jù)處理====實現(xiàn)接口層
dalfactory 數(shù)據(jù)工廠===工廠模式中用來指定誰來處理數(shù)據(jù)
model 模型也就是那些定義的地段屬性
sqlserver 出路和sqlserver有關(guān)的操作
SQLServer 是微軟出的數(shù)據(jù)庫軟件。你說不要別地復(fù)制,我就告訴你我自己知道的,MSSQL是用來儲存數(shù)據(jù)的,包括網(wǎng)站數(shù)據(jù),公司數(shù)據(jù)等等。
和OFFICE里面的ACCESS差不多,對我來說差不多,我做網(wǎng)站的,MSSQL和ACCESS我都不用。我用mysql。
只是MSSQL功能和速度這些優(yōu)于ACCESS。屬于企業(yè)級的。
說白了,就是數(shù)據(jù)庫。存你每天發(fā)帖回帖這些數(shù)據(jù)的,比如你的問題就存在數(shù)據(jù)庫里。你打的這些字
SQL Server Service Broker 你可以理解為一種 數(shù)據(jù)庫隊列的 東西.
異步處理的.
例如我要執(zhí)行一個耗時比較長的存儲過程.
普通的執(zhí)行方法, 是我 執(zhí)行了, 然后我等著服務(wù)器處理完了, 才能繼續(xù)干別的事情.
SQL Server Service Broker 則是以一種隊列異步處理的機(jī)制來完成.
我需要執(zhí)行一個很耗時的處理.
那么可能就是向某個 隊列, 發(fā)送一個消息, 然后立即就返回了.
這個時候, 我可以做其他的查詢處理.
等服務(wù)器執(zhí)行完畢后, 再向我發(fā)一個消息, 告訴我 執(zhí)行的結(jié)果.
看看下面的概念吧
一、數(shù)據(jù)庫名
什么是數(shù)據(jù)庫名?
數(shù)據(jù)庫名就是一個數(shù)據(jù)庫的標(biāo)識,就像人的身份證號一樣。他用參數(shù)DB_NAME表示,如果一臺機(jī)器上裝了多全數(shù)據(jù)庫,那么每一個數(shù)據(jù)庫都有一個數(shù)據(jù)庫名。在數(shù)據(jù)庫安裝或創(chuàng)建完成之后,參數(shù)DB_NAME被寫入?yún)?shù)文件之中。格式如下:
DB_NAME=myorcl
...
在創(chuàng)建數(shù)據(jù)庫時就應(yīng)考慮好數(shù)據(jù)庫名,并且在創(chuàng)建完數(shù)據(jù)庫之后,數(shù)據(jù)庫名不宜修改,即使要修改也會很麻煩。因為,數(shù)據(jù)庫名還被寫入控制文件中,控制文件是以二進(jìn)制型式存儲的,用戶無法修改控制文件的內(nèi)容。假設(shè)用戶修改了參數(shù)文件中的數(shù)據(jù)庫名,即修改DB_NAME的值。但是在Oracle啟動時,由于參數(shù)文件中的DB_NAME與控制文件中的數(shù)據(jù)庫名不一致,導(dǎo)致數(shù)據(jù)庫啟動失敗,將返回ORA-01103錯誤。
數(shù)據(jù)庫名的作用
數(shù)據(jù)庫名是在安裝數(shù)據(jù)庫、創(chuàng)建新的數(shù)據(jù)庫、創(chuàng)建數(shù)據(jù)庫控制文件、修改數(shù)據(jù)結(jié)構(gòu)、備份與恢復(fù)數(shù)據(jù)庫時都需要使用到的。
有很多Oracle安裝文件目錄是與數(shù)據(jù)庫名相關(guān)的,如:
winnt: d:\oracle\product\10.1.0\oradata\DB_NAME\...
Unix: /home/app/oracle/product/10.1.0/oradata/DB_NAME/...
pfile:
winnt: d:\oracle\product\10.1.0\admin\DB_NAME\pfile\ini.ora
Unix: /home/app/oracle/product/10.1.0/admin/DB_NAME/pfile/init$ORACLE_SID.ora
跟蹤文件目錄:
winnt: /home/app/oracle/product/10.1.0/admin/DB_NAME/bdump/...
另外,在創(chuàng)建數(shù)據(jù)時,careate database命令中的數(shù)據(jù)庫名也要與參數(shù)文件中DB_NAME參數(shù)的值一致,否則將產(chǎn)生錯誤。
同樣,修改數(shù)據(jù)庫結(jié)構(gòu)的語句alter database, 當(dāng)然也要指出要修改的數(shù)據(jù)庫的名稱。
如果控制文件損壞或丟失,數(shù)據(jù)庫將不能加載,這時要重新創(chuàng)建控制文件,方法是以nomount方式啟動實例,然后以create controlfile命令創(chuàng)建控制文件,當(dāng)然這個命令中也是指指DB_NAME。
還有在備份或恢復(fù)數(shù)據(jù)庫時,都需要用到數(shù)據(jù)庫名。
總之,數(shù)據(jù)庫名很重要,要準(zhǔn)確理解它的作用。
查詢當(dāng)前數(shù)據(jù)名
方法一:select name from v$database;
方法二:show parameter db
方法三:查看參數(shù)文件。
修改數(shù)據(jù)庫名
前面建議:應(yīng)在創(chuàng)建數(shù)據(jù)庫時就確定好數(shù)據(jù)庫名,數(shù)據(jù)庫名不應(yīng)作修改,因為修改數(shù)據(jù)庫名是一件比較復(fù)雜的事情。那么現(xiàn)在就來說明一下,如何在已創(chuàng)建數(shù)據(jù)之后,修改數(shù)據(jù)庫名。步驟如下:
1.關(guān)閉數(shù)據(jù)庫。
2.修改數(shù)據(jù)庫參數(shù)文件中的DB_NAME參數(shù)的值為新的數(shù)據(jù)庫名。
3.以NOMOUNT方式啟動實例,修建控制文件(有關(guān)創(chuàng)建控制文件的命令語法,請參考o(jì)racle文檔)
二、數(shù)據(jù)庫實例名
什么是數(shù)據(jù)庫實例名?
數(shù)據(jù)庫實例名是用于和操作系統(tǒng)進(jìn)行聯(lián)系的標(biāo)識,就是說數(shù)據(jù)庫和操作系統(tǒng)之間的交互用的是數(shù)據(jù)庫實例名。實例名也被寫入?yún)?shù)文件中,該參數(shù)為instance_name,在winnt平臺中,實例名同時也被寫入注冊表。
數(shù)據(jù)庫名和實例名可以相同也可以不同。
在一般情況下,數(shù)據(jù)庫名和實例名是一對一的關(guān)系,但如果在oracle并行服務(wù)器架構(gòu)(即oracle實時應(yīng)用集群)中,數(shù)據(jù)庫名和實例名是一對多的關(guān)系。這一點在第一篇中已有圖例說明。
查詢當(dāng)前數(shù)據(jù)庫實例名
方法一:select instance_name from v$instance;
方法二:show parameter instance
方法三:在參數(shù)文件中查詢。
數(shù)據(jù)庫實例名與ORACLE_SID
雖然兩者都表是oracle實例,但兩者是有區(qū)別的。instance_name是oracle數(shù)據(jù)庫參數(shù)。而ORACLE_SID是操作系統(tǒng)的環(huán)境變量。ORACLD_SID用于與操作系統(tǒng)交互,也就是說,從操作系統(tǒng)的角度訪問實例名,必須通過ORACLE_SID。在winnt不臺,ORACLE_SID還需存在于注冊表中。
且ORACLE_SID必須與instance_name的值一致,否則,你將會收到一個錯誤,在unix平臺,是“ORACLE not available”,在winnt平臺,是“TNS:協(xié)議適配器錯誤”。
數(shù)據(jù)庫實例名與網(wǎng)絡(luò)連接
數(shù)據(jù)庫實例名除了與操作系統(tǒng)交互外,還用于網(wǎng)絡(luò)連接的oracle服務(wù)器標(biāo)識。當(dāng)你配置oracle主機(jī)連接串的時候,就需要指定實例名。當(dāng)然8i以后版本的網(wǎng)絡(luò)組件要求使用的是服務(wù)名SERVICE_NAME。這個概念接下來說明 。
三、數(shù)據(jù)庫域名
什么是數(shù)據(jù)庫域名?
在分布工數(shù)據(jù)庫系統(tǒng)中,不同版本的數(shù)據(jù)庫服務(wù)器之間,不論運行的操作系統(tǒng)是unix或是windows,各服務(wù)器之間都可以通過數(shù)據(jù)庫鏈路進(jìn)行遠(yuǎn)程復(fù)制,數(shù)據(jù)庫域名主要用于oracle分布式環(huán)境中的復(fù)制。舉例說明如:
全國交通運政系統(tǒng)的分布式數(shù)據(jù)庫,其中:
福建節(jié)點: fj.jtyz
福建廈門節(jié)點: xm.fj.jtyz
江西: jx.jtyz
江西上饒:sr.jx.jtyz
這就是數(shù)據(jù)庫域名。
數(shù)據(jù)庫域名在存在于參數(shù)文件中,他的參數(shù)是db_domain.
查詢數(shù)據(jù)庫域名
方法一:select value from v$parameter where name = 'db_domain';
方法二:show parameter domain
方法三:在參數(shù)文件中查詢。
全局?jǐn)?shù)據(jù)庫名
全局?jǐn)?shù)據(jù)庫名=數(shù)據(jù)庫名+數(shù)據(jù)庫域名,如前述福建節(jié)點的全局?jǐn)?shù)據(jù)庫名是:oradb.fj.jtyz
四、數(shù)據(jù)庫服務(wù)名
什么是數(shù)據(jù)庫服務(wù)名?
從oracle9i版本開始,引入了一個新的參數(shù),即數(shù)據(jù)庫服務(wù)名。參數(shù)名是SERVICE_NAME。
如果數(shù)據(jù)庫有域名,則數(shù)據(jù)庫服務(wù)名就是全局?jǐn)?shù)據(jù)庫名;否則,數(shù)據(jù)庫服務(wù)名與數(shù)據(jù)庫名相同。
查詢數(shù)據(jù)庫服務(wù)名
方法一:select value from v$parameter where name = 'service_name';
方法二:show parameter service_name
方法三:在參數(shù)文件中查詢。
數(shù)據(jù)庫服務(wù)名與網(wǎng)絡(luò)連接
從oracle8i開如的oracle網(wǎng)絡(luò)組件,數(shù)據(jù)庫與客戶端的連接主機(jī)串使用數(shù)據(jù)庫服務(wù)名。之前用的是ORACLE_SID,即數(shù)據(jù)庫實例名。
對于程序開發(fā)人員而言,目前使用最流行的兩種后臺數(shù)據(jù)庫即為MySQL and SQL Server。這兩者最基本的相似之處在于數(shù)據(jù)存儲和屬于查詢系統(tǒng)。你可以使用SQL來訪問這兩種數(shù)據(jù)庫的數(shù)據(jù),因為它們都支持ANSI-SQL。 還有,這兩種數(shù)據(jù)庫系統(tǒng)都支持二進(jìn)制關(guān)鍵詞和關(guān)鍵索引,這就大大地加快了查詢速度。同時,二者也都提供支持XML的各種格式。除了在顯而易見的軟件價格上的區(qū)別之外,這兩個產(chǎn)品還有什么明顯的區(qū)別嗎?在這二者之間你是如何選擇的?讓我們看看這兩個產(chǎn)品的主要的不同之處,包括發(fā)行費用,性能以及它們的安全性。
根本的區(qū)別是它們遵循的基本原則
二者所遵循的基本原則是它們的主要區(qū)別:開放vs保守。SQL服務(wù)器的狹隘的,保守的存儲引擎與MySQL服務(wù)器的可擴(kuò)展,開放的存儲引擎絕然不同。雖然你可以使用SQL服務(wù)器的Sybase引擎,但MySQL能夠提供更多種的選擇,如MyISAM, Heap, InnoDB, and Berkeley DB。MySQL不完全支持陌生的關(guān)鍵詞,所以它比SQL服務(wù)器要少一些相關(guān)的數(shù)據(jù)庫。同時,MySQL也缺乏一些存儲程序的功能,比如MyISAM引擎聯(lián)支持交換功能。
發(fā)行費用:MySQL不全是免費,但很便宜
當(dāng)提及發(fā)行的費用,這兩個產(chǎn)品采用兩種絕然不同的決策。對于SQL服務(wù)器,獲取一個免費的開發(fā)費用最常的方式是購買微軟的Office或者Visual Studio的費用。但是,如果你想用于商業(yè)產(chǎn)品的開發(fā),你必須還要購買SQL Server Standard Edition。學(xué)?;蚍勤A利的企業(yè)可以不考慮這一附加的費用。
性能:先進(jìn)的MySQL
純粹就性能而言,MySQL是相當(dāng)出色的,因為它包含一個缺省桌面格式MyISAM。MyISAM 數(shù)據(jù)庫與磁盤非常地兼容而不占用過多的CPU和內(nèi)存。MySQL可以運行于Windows系統(tǒng)而不會發(fā)生沖突,在UNIX或類似UNIX系統(tǒng)上運行則更好。你還可以通過使用64位處理器來獲取額外的一些性能。因為MySQL在內(nèi)部里很多時候都使用64位的整數(shù)處理。Yahoo!商業(yè)網(wǎng)站就使用MySQL 作為后臺數(shù)據(jù)庫。
當(dāng)提及軟件的性能,SQL服務(wù)器的穩(wěn)定性要比它的競爭對手強很多。但是,這些特性也要付出代價的。比如,必須增加額外復(fù)雜操作,磁盤存儲,內(nèi)存損耗等等。如果你的硬件和軟件不能充分支持SQL服務(wù)器,我建議你最好選擇其他如DBMS數(shù)據(jù)庫,因為這樣你會得到更好的結(jié)果。
安全功能
MySQL有一個用于改變數(shù)據(jù)的二進(jìn)制日志。因為它是二進(jìn)制,這一日志能夠快速地從主機(jī)上復(fù)制數(shù)據(jù)到客戶機(jī)上。即使服務(wù)器崩潰,這一二進(jìn)制日志也會保持完整,而且復(fù)制的部分也不會受到損壞。
在SQL服務(wù)器中,你也可以記錄SQL的有關(guān)查詢,但這需要付出很高的代價。
安全性
這兩個產(chǎn)品都有自己完整的安全機(jī)制。只要你遵循這些安全機(jī)制,一般程序都不會出現(xiàn)什么問題。這兩者都使用缺省的IP端口,但是有時候很不幸,這些IP也會被一些黑客闖入。當(dāng)然,你也可以自己設(shè)置這些IP端口。
恢復(fù)性:先進(jìn)的SQL服務(wù)器
恢復(fù)性也是MySQL的一個特點,這主要表現(xiàn)在MyISAM配置中。這種方式有它固有的缺欠,如果你不慎損壞數(shù)據(jù)庫,結(jié)果可能會導(dǎo)致所有的數(shù)據(jù)丟失。然而,對于SQL服務(wù)器而言就表現(xiàn)得很穩(wěn)鍵。SQL服務(wù)器能夠時刻監(jiān)測數(shù)據(jù)交換點并能夠把數(shù)據(jù)庫損壞的過程保存下來。
根據(jù)需要決定你的選擇
對于這兩種數(shù)據(jù)庫,如果非要讓我說出到底哪一種更加出色,也許我會讓你失望。以我的觀點,任一對你的工作有幫助的數(shù)據(jù)庫都是很好的數(shù)據(jù)庫,沒有哪一個數(shù)據(jù)庫是絕對的出色,也沒有哪一個數(shù)據(jù)庫是絕對的差勁。我想要告訴你的是你應(yīng)該多從你自己的需要出發(fā),即你要完成什么樣的任務(wù)?而不要單純地從軟件的功能出發(fā)。
如果你想建立一個.NET服務(wù)器體系,這一體系可以從多個不同平臺訪問數(shù)據(jù),參與數(shù)據(jù)庫的管理,那么你可以選用SQL服務(wù)器。如果你想建立一個第三方站點,這一站點可以從一些客戶端讀取數(shù)據(jù),那么MySQL將是最好的選擇。
這兩者數(shù)據(jù)庫都能夠在.NET或J2EE下運行正常,同樣,都能夠利用RAID。
還有:
是百度知道里的回答。
是一個人博科中的總結(jié)如下:
那天沒有注意,使用 SELECT TOP X 的時候MySQL不認(rèn),雖然沒有TOP X也不是不可以,但是總覺得別扭,后來發(fā)現(xiàn),原來是 在 MySQL中,需要使用 LIMIT X來限制。
X代表一個非零的正整數(shù)。這也許就是在Hibernate中看到的所謂的“SQL方言”吧。不同的數(shù)據(jù)庫,SQL語言會有些不同。
是一個論壇中的答復(fù):
mysql:免費,跨平臺,但功能交少只有DATABASE,TABLE,用戶管理這些,使用于小型數(shù)據(jù)庫,中型也勉強可以
mssql:要購買,只能建立在window上,包含以上功能還有view,PROCEDURE,TRIGGER,JOB.....太多了,適合中小形數(shù)據(jù)庫,大型就勉強一點
希望能對樓主有所幫助。
SQL的主鍵和外鍵的作用:
外鍵取值規(guī)則:空值或參照的主鍵值。
(1)插入非空值時,如果主鍵表中沒有這個值,則不能插入。
(2)更新時,不能改為主鍵表中沒有的值。
(3)刪除主鍵表記錄時,你可以在建外鍵時選定外鍵記錄一起級聯(lián)刪除還是拒絕刪除。
(4)更新主鍵記錄時,同樣有級聯(lián)更新和拒絕執(zhí)行的選擇。
簡而言之,SQL的主鍵和外鍵就是起約束作用。
主鍵是能確定一條記錄的唯一標(biāo)識,比如,一條記錄包括身份正號,姓名,年齡。身份證號是唯一能確定你這個人的,其他都可能有重復(fù),所以,身份證號是主鍵。
外鍵用于與另一張表的關(guān)聯(lián)。是能確定另一張表記錄的字段,用于保持?jǐn)?shù)據(jù)的一致性。比如,A表中的一個字段,是B表的主鍵,那他就可以是A表的外鍵。