當前位置:首頁 » 編程語言 » sql表的發展
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql表的發展

發布時間: 2022-06-14 00:48:37

Ⅰ 菜鳥請教sql中表的設計思路

你設計的表中
1.你最好再設計一個客戶表,這個表中存放每個客戶的名稱和編碼等基本信息,其中編碼就作為每位客戶的唯一標示。
2.然後在你目前的客戶消費信息表中存放客戶的遍碼和消費信息,這樣就可以通過客戶編碼區分客戶了,也可以根據客戶編碼來統計客戶的消費信息。
3.客戶消費信息表中要有一個主鍵「ID」來標示客戶的消費信息。可以自動獲取也可以隨機生成。
不知道清楚了沒有。

Ⅱ 什麼是資料庫資料庫和資料庫表的區別是什麼SQL命令的三要素

資料庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今五十年前,隨著信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。資料庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型資料庫系統都在各個方面得到了廣泛的應用。
資料庫和資料庫表是總分的關系,像一個excel中至少有三個sheet,那excel文件就是資料庫,其中每一個sheet就是資料庫表了
Sql命令好像沒有特別的三要素吧,不過db是有的,分別是結構、操作、規則約束

Ⅲ SQL連表查詢跟一個個表查詢那個快各有什麼優點和缺點

SQL鏈接表查詢稱為聯合查詢,表查詢是單個查詢。其區別和優點如下:

1.從發展效率的角度看:

聯合查詢是需要多個單查詢邏輯組合才能完成的查詢工作,聯合查詢只需要一個SQL就可以完成查詢工作,即將業務邏輯轉化為SQL,由資料庫來處理,相對來說,開發效率會更高。

2.從查詢效率來看:

單個查詢具有更好的可重用性,因此比聯合查詢更有效。

當讀取或寫入資料庫時,資料庫使用鎖機制來限制其他連接對其進行操作。由於聯邦查詢比單個查詢慢得多,它們會增加鎖爭用,因此單個查詢更好。

3.從邏輯結構層面來看,分層原則

關聯表示業務規則/邏輯。如果經常使用關聯查詢,就會將大量的業務規則和邏輯放入資料庫中執行,這將大大增加CPU、內存、IO等資源的消耗。

4.從資源利用的角度來看

在大多數情況下,並不是所有相關查詢的結果都得到了有效的使用。例如,後台管理的列表界面會顯示分頁、關聯查詢的結果集,只使用當前頁面的數據,而資料庫需要消耗額外的資源才能得到整個結果集。

5.從架構的可伸縮性的角度來看

大量的相關查詢將導致集中式資料庫體系結構難以轉化為分布式體系結構,可擴展性優化也難以實現。關聯查詢方便快捷,開發效率更高。

不使用關系查詢在體系結構級別上有很多優勢,但是它需要大量的系統分析、設計和開發功能。一般在互聯網行業,如用戶數量最好重視這方面。

由於數據量小,兩個查詢的效率基本沒有差別,但在實際應用中,需要根據數據量、業務復雜度等進行綜合評價。

Ⅳ sql表的建立問題

給你舉個經典例子:

學生表(學生ID,學生姓名,學號,性別,出生日期)
科目表(科目ID,科目名稱)
成績表(學生ID,科目ID,成績)
成績表中的「學生ID」與學生表中的「學生ID」就是表之間的關系

例如要查某學號,某科目的成績,可以:
Select 學生姓名,成績 From 成績表
Left join 學生表 on 學生表.學生ID=成績表.學生ID
Left join 科目表 on 科目表.科目ID=成績表.科目ID
where 學生表.學號='xx學號' and 科目表.科目名稱='科目名稱'

Ⅳ 關於SQL建表的一點問題

在查詢分析器里要有設置主外鍵關聯:
語法如下:FOREIGN KEY (列名) REFERENCES 表名 (列名)

在企業管理器里:滑鼠右擊表名--》關系--》設置與哪個表之間主外關系。
之後在關系圖就能看到關系圖了。不明白在問我吧。

Ⅵ MYSQL的發展史

MySQL從開發人員手中的「玩具」變為如今的「世界上最流行的開源資料庫」,其中的過程伴隨著產品版本升級,以及一些新功能(特別是企業資料庫功能)的增加。現在,隨著MySQL 5.0被完美地開發出來,已經很少有人將MySQL稱為「玩具資料庫」了。MySQL的豐富功能滿足了許多用戶的需求,Oracle最近的動作表明了他們對待MySQL非常重視——Oracle曾幾次三番的表示有意收購MySQL。
MySQL的產品路線圖
讓我們先從MySQL的較有影響的版本產品開始,看一下MySQL的更新換代。

MySQL 4.0
MySQL 4.0是在2003年3月發布的,該版本使新的基於MySQL的應用程序獲得了更廣泛的應用。但是在4.0版中,MySQL不支持存儲過程、觸發程序、伺服器端指針或視圖。MySQL 4.0是從3.23發展而來,較之3.23版本有了很大的提高,主要適用於Web站點,這時候的MySQL還不是一個企業級資料庫。
以下是MySQL 4.0的主要新特性:
FULLTEXT索引:最值得用戶期待的可能就是FULLTEXT索引。
FULLTEXT在文本欄位創建索引,為對該索引執行布爾搜索提供了一個強大而靈活的機制。依照一般的開發經驗,開發人員通常必須創建索引並訪問文本數據,而FULLTEXT索引比想像中的還要好得多。
許多解決方案僅限於全字索引,FULLTEXT索引沒有這種限制,允許開發人員添加或拆分片語。
ANSI SQL UNION:支持ANSI SQL UNION語句,該語句將詢問結果匯集到一個結果集。
多表操作:可以執行多表UPDATE和DELETE。
新語句:增加了其他DBMS用戶所熟悉的一些非標準的新語句(如IDENTITY和TRUNCATE TABLE),以及FOUND_ROWS()等新功能,這些功能可以返回無需LIMIT子句就能返回的紀錄的編號。
InnoDB存儲引擎:InnoDB存儲引擎在當時作為伺服器的標准特性,在4.0版本中成為一個附加選項。InnoDb是允許ACID兼容事務的表類型,而非默認的MyISAM表類型,它可以加快一般性使用的速度,但對於關鍵操作不是十分有用。
InnoDB表使用行級別鎖定特性,這意味著對一個記錄的更新只鎖定該記錄,而不是整個表。當選擇訪問大量的資料庫時(對於大多數Web站點而言),鎖定整個表相當快,但是當插入和更新的數量接近於選項的數量時,則速度較慢。長期以來,對MySQL的批評一直集中在MyISAM表的安全性和一致性問題,兼容ACID的InnoDB表在解決這些問題上走過了很長一段路。
查詢緩存:MySQL 4.0在某些情況下可以更快捷。這主要通過查詢緩存得以實現,它將重復的查詢結果存儲起來,使速度得以提高,盡管許多成熟的應用程序在某個代碼級別上執行自己的查詢緩存功能。某些語句在速度上也有所提高。
Embededded Server:MySQL 4.0附帶了一個Embededded Server庫,允許應用程序以MySQL作為底層資料庫。
latin1_de :MySQL 4.0支持一個額外字元集latin1_de,它可確保正確存儲德語單詞。
MyISAM:MySQL 4.0中的MyISAM表目前在表級別上支持符號鏈接,所以Windows用戶可以在表級別上創建符號鏈接(這對於Unix用戶始終有效)。
安全模型:MySQL 4.0的安全模型得到了增強,允許管理員更加細致地授權許可。新的許可權允許用戶創建臨時表、鎖定表、執行某些復制任務、查看所有現有的資料庫,甚至在達到最大連接限度時還能進行連接——對於DBA執行緊急任務非常有用,甚至允許運行存儲過程(在MySQL 5中實現了此功能)。DBA依靠增強的安全模式也可以限制用戶每小時的連接、更新或查詢次數。
MySQL 4設計運行在Novell Netware 6.0之上。另外,MySQL伺服器變數中有不少可以在不重新啟動伺服器的情況下進行更改,由於重新啟動會恢復舊的設置,因此這個特性非常有用。

MySQL 4.1
MySQL 4.1推出之後,對於某些用戶而言,4.1比MySQL 4.0具有更激動人心的升級可能:
MySQL 4.1支持子查詢。

不使用子查詢時,許多查詢可以更有效地編寫,但是會有例外。子查詢是標准ANSI SQL特性。
支持Unicode (UTF-8),允許更廣泛地進行國際化。
每個列、表或資料庫都可以設置不同的字元集,如果以多種語言存儲數據,這就很有必要了。
支持地理數據(OpenGIS)。
增強的警告發送。如果一個不夠,MySQL 4.1可以將多個警告發送到客戶端,這樣就對於整體數據處理十分有用。
提高了一些速度。但這些速度提高可能被MySQL 4.1所承擔的所有額外部分抵消。
盡管MySQL手冊是發布的最好手冊之一,MySQL 4.1還是附帶了僅適用於該版本的HELP命令。
支持派生表,例如:
SELECT table1.field1 FROM table, (SELECT * FROM table2) table3 WHERE table1.field1=table3.field1
支持多行查詢,允許運行多個查詢,然後讀取最終結果。
各種維護語句將存入二進制日誌中,在復制時您可以簡化維護任務。
CREATE...LIKE允許開發人員按現有表的精確結構輕松地創建新表。
另外,MySQL 4.1的三個顯著功能包括:穩定的OpenSSL支持、更多的測試准備語句、更多的測試一個表的多個字元集。
MySQL 4.1或許是第一個實際「長大成人」的MySQL版本。由於4.1版本中一些新增加的特性和功能(例如地理數據、子選擇語句、派生表),Oracle第一次開始真正關注MySQL。
MySQL 5.0
支持存儲過程。存儲過程是一個開發人員在其他資料庫環境最常用的ANSI SQL標准,對於MySQL來說,這已經姍姍來遲了。MySQL 5.0所支持的存儲過程的語法類似於Oracle PL/SQL和T-SQL。
觸發程序(發生某個事件時所稱的存儲過程)
支持指針
真正支持VARCHAR數據類型,解決了一個長期存在的MySQL VARCHAR bug。
在MyISAM表中對RTREE索引的支持,將使訪問地理數據變得很容易。

MySQL 5.1
相對於5.0版本,MySQL 5.1實現了一些新的功能:
聯機備份(允許添加replication slave,而不必關閉主伺服器)。
BIT類型,實際佔用1位,而不是1個字元。
失敗保護(failsafe)復制

網上抄的~

Ⅶ sql中主表與從表的概念

主表中有的從表中才可添加相關信息。

比如說有這樣一個表

公司人員信息表
姓名 年齡 性別
張三 20 男

工資表
姓名 工資 工齡 獎金

其中工資表是公司人員信息表的從表幫定的是姓名欄位,你想像下如果公司根本沒這個人你能給這個人發工資嗎,當然這個例子不太符合邏輯因為姓名是會相同的,你可以用工號來進行唯一性標示這樣就不會有冗餘信息了。

Ⅷ sql關於表的問題

create table users ( uName varchar(50),uPassword varchar(50) )
go
create function store_user ( @uName varchar(50),@uPassword varchar(50) )
returns int
as
begin
declare @i int
select count(1) into @i from users where uName=@uName and uPassword=@uPassword
return
end
go

2
create table users ( user_name varchar(50),oper_date datetime )
go

create trigger tr_tmp_ins
on emp
instead of insert
as
begin
if datepart(dw,getdate() = 6 or datepart(dw,getdate() = 7
begin
insert emp_audit ( user_name,oper_date )
select user_name(),getdate()
end
end
go

Ⅸ sql 表的問題!!

如果只是一個表,沒有關鏈的話,建議表中設置主鍵及索引,也可以考慮程序中分頁讀出