你那樣理解貌似說得過去。。。但深究一下就。。。
資料庫通常情況下有2個文件即
主文件*.mdf 日誌文件(次文件)*.ldf (當資料庫分離的時候可以看見,創建的時候也可以看見)
次文件你可以理解成日誌,或多個日誌,對與資料庫來說,日誌可以不要的。
為了方便管理和數據分配,可以把多個資料庫文件組織在一起,稱為資料庫文件組
例如,你的電腦上有3個盤符 C,D,E A_C.mdf A_D.mdf和A_E.mdf),並將這三個文件指派到文件組fgroup中。然後,可以明確地在文件組fgroup上創建一個表。對表中數據的查詢將分散到三個磁碟上,因而性能得以提高,但這樣做對於數據的備份,還原,轉移,分離等,有一定的難度!
就這么多希望對LZ有幫助!
⑵ 如何設置資料庫文件組
SQL文件組就是文件的邏輯集合。它的目的是為了方便數據的管理和分配.文件組可以把指定是文件組合在一起。 在首次創建資料庫,或者以後將更多文件添加到資料庫時,可以創建文件組。但是,一旦將文件添加到資料庫,就不可能再將這些文件移到其它文件組。 一個文件不能是多個文件組的成員。表格、索引以及text、ntext和image數據可以與特定的文件組相關聯。這意味著它們的所有頁都將從該文件組的文件中分配。 有三種類型的文件組: 主文件組 這些文件組包含主數據文件以及任何其它沒有放入其它文件組的文件。系統表的所有頁都從主文件組分配。 用戶定義文件組 該文件組是用CREATEDATABASE或ALTERDATABASE語句中的FILEGROUP關鍵字,或在SQLServer企業管理器內的"屬性"對話框上指定的任何文件組。 默認文件組 默認文件組包含在創建時沒有指定文件組的所有表和索引的頁。在每個資料庫中,每次只能有一個文件組是默認文件組。如果沒有指定默認文件組,則默認文件組是主文件組。 最多可以為每個資料庫創建256個文件組。文件組只能包含數據文件。事務日誌文件不能是文件組的一部分。
⑶ SQL語言創建表時候怎麼定義主碼和外碼
SQL語言創建表時候用Primary Key(屬性名)定義主碼,用Foreign Key(屬性名)定義外碼。
主碼是一種唯一關鍵字,表定義的一部分。一個表的主碼可以由多個關鍵字共同組成,並且主碼的列不能包含空值。主碼是可選的,並且可在 CREATE TABLE語句中用Primary Key(屬性名)定義。
將一個表的值放入第二個表來表示關聯,所使用的值是第一個表的主鍵值(在必要時可包括復合主鍵值)。此時,第二個表中保存這些值的屬性稱為外鍵,用Foreign Key(屬性名)定義。
如:
CREATE TABLE Customer
(SID integer,
CID integer,
Last_Name varchar(30),
First_Name varchar(30),
PRIMARY KEY (SID),ForeignKey(CID名));
(3)sql資料庫怎樣定義主文件擴展閱讀:
主碼不應包含動態變化的數據,如時間戳、創建時間列、修改時間列等。實際上,因為主碼除了唯一地標識一行之外,再沒有其他的用途了,所以也就沒有理由去對它更新。如果主碼需要更新,則說明主碼應對用戶無意義的原則被違反了。
主碼應當由計算機自動生成。如果由人來對主碼的創建進行干預,就會使它帶有除了唯一標識一行以外的意義。一旦越過這個界限,就可能產生人為修改主碼的動機,這樣,這種系統用來鏈接記錄行、管理記錄行的關鍵手段就會落入不了解資料庫設計的人的手中。
⑷ mysql如何指定資料庫的主數據文件邏輯名稱、資料庫的日誌文件邏輯名稱、物理文件名、初始大小、最大尺寸
這是mysql的資料庫,壓根不存在.mdf文件好吧
⑸ sql資料庫中包含哪幾種文件
sql資料庫中包含主數據文件、事務日誌文件、輔助數據文件三種文件。
1、主數據文件
該文件包含資料庫的啟動信息,並用於存儲數據。每個資料庫都有一個主要數據文件。
2、事務日誌文件
這些文件包含用於恢復資料庫的日誌信息。每個資料庫都必須至少有一個日誌文件。
3、輔助數據文件
這些文件含有不能置於主要數據文件中的所有數據。如果主文件可以包含資料庫中的所有數據,那麼資料庫就不需要次要數據文件。
(5)sql資料庫怎樣定義主文件擴展閱讀
sql資料庫特點
1、SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為「基本表」(basetable);存儲模式(內模式)稱為「存儲文件」(storedfile);子模式(外模式)稱為「視圖」(view);元組稱為「行」(row);屬性稱為「列」(column)。
2、sql資料庫是非過程化語言、統一的語言、是所有關系型資料庫的公共語言。
3、SQL用戶可以是應用程序,也可以是終端用戶。SQL語句可嵌入在宿主語言的程序中使用,宿主語言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada語言等。SQL用戶也能作為獨立的用戶介面,供交互環境下的終端用戶使用。
⑹ 在SQL server 2000中 主文件 此文件 文件組 這些有什麼關系啊
SQL資料庫中的文件主要有3種類型,主要數據文件,次要數據文件,日誌文件,日誌就不說了,主要數據文件對用戶資料庫來說是必不可少的,所有的表和記錄都在這里;如果一個資料庫里數據太多,比如100G一個文件,那在這樣一個大文件里搜索一條記錄一定快不了,所以在物理上把文件分為兩個,或更多個,那除了主要文件以外的,都是次要文件;如果一個資料庫里某個表記錄超多,比如過千萬,而其他的表都正常的話,那這個庫可能因為這一個表的訪問效率低,而影響整個資料庫的其它表,那就可以用文件組將這樣的表分開存儲。具體數據文件的物理存儲方式,與整個庫的邏輯關系是無關的,好處是資料庫的設計者不需要考慮物理存儲結構,只有5分就不多說了,呵呵
⑺ 如何用代碼創建SQL資料庫文件(最好有解釋)
drop database databasenamecreate database databasename
on
primary //是主文件
(
name='employee1', //邏輯名稱
filename='E:..', //存放位置
size= 10M, //初始大小
filegrowth =10%, //增長率
maxsize = 1G, //最大值
),
(
name='employee1',
filename='E:..',
size= 3M,
filegrowth =20%,maxsize = 1G,
),(
name='employee1',
filename='E:..',
size= 3M,
filegrowth =2m,
maxsize = 1G,
)
不懂可以和我說。。
⑻ sql資料庫問題,求大神搭救,重重有賞
1、資料庫中的主數據文件一定屬於主文件組嗎?
答:是;因為所有資料庫都至少包含一個主文件組,所有系統表都分配在主文件組中,所以一定屬於主文件組。
2、數據文件和日誌文件可以在同一個文件組嗎?為什麼?
答:不可以;因為主數據文件存在於主文件組,日誌文件不屬於任何文件組。
3、刪除了資料庫,其數據文件和日誌文件是否已經刪除?
答:是的,全部已刪除;
4、TRUNCATE TABLE:刪除內容、釋放空間但不刪除定義。
通過釋放存儲表數據所用的數據頁來刪除數據,並且只在事務日誌中記錄頁的釋放。
(自增長列重新開始計算)
DELETE TABLE:刪除內容不刪除定義,不釋放空間。
每次刪除一行,並在事務日誌中為所刪除的每行記錄一項。(所以delete以後的數據有辦法可以恢復的;自增長列接著之前的遞增)
DROP TABLE:刪除內容和定義,釋放空間。
理論知識不一定靠譜,關鍵自己要實踐。
⑼ 如何在sql server 中創建文件組
create database GSM1
on primary --主文件及主文件組
(
name = main1, --邏輯文件名
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian1.mdf', --物理文件名
size = 10MB, --初始大小
filegrowth = 1MB --增長速度
),
(
name = main2,
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian2.ndf',
size = 10MB, filegrowth = 1MB
),
filegroup group1 --文件組group1
(
name = data, filename = 'F:資料庫GSMdata.ndf', size = 5MB, filegrowth = 1MB
),
filegroup group2 --文件組group2
(
name = indexInfo, filename = 'D:SQL2005indexGSMindexInfo.ndf', size = 5MB, filegrowth = 1MB
)
log on --日誌文件
(
name = 'GSM.log',
filename = 'c:program filesmicrosoft sql servermssql.2mssqldataGSMlog.ldf' ,
size = 2048KB , filegrowth = 1MB
)
(9)sql資料庫怎樣定義主文件擴展閱讀:
SQL SERVER中文件組的用途
1、在指定文件組里創建表
--在指定文件組中創建文件
create table Test
(
Tid int primary key identity,
Title01 nvarchar(100) default('標題01'),
Title02 nvarchar(100) default('標題02'),
Title03 nvarchar(100) default('標題03'),
DataStatus tinyint default(0) --0~255 size:1位元組
) on TestData
2、利用文件組創建資料庫
--創建資料庫
create database BigValues
on primary --資料庫文件,主文件組
(
name='BigValues_Data', --邏輯名
size=10mb, --初始大小
filegrowth=10%, --文件增長
maxsize=1024mb, --最大值
filename=N'E:\SQL\BigValues_Data.mdf'--存放路徑(包含文件後綴名)
),
(
name='BigValues_Data1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data1.mdf'
),
filegroup TestData --TestData文件組(表創建到不同的文件組裡面可以分擔壓力)
(
name='BigValues_Data_Num1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'E:\SQL\BigValues_Data_Num1.ndf'
),
(
name='BigValues_Data_Num2',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data_Num2.ndf'
)
log on --日記
(
name='BigValues_Log1',
size=5mb,
filegrowth=5%,
filename=N'E:\SQL\BigValues_log1.ldf'
),
(
name='BigValues_Log2',
size=5mb,
filegrowth=5%,
filename=N'F:\Work\SQL\BigValues_log2.ldf'
)
go
⑽ sql資料庫中包含哪幾種文件
根據作用不同,分為以下三種:
1、主數據文件。
用來存儲資料庫的數據和資料庫的啟動信息。
每個資料庫必須有且只有一個主數據文件,其擴展名為.mdf。
實際的主數據文件都有兩種名稱:操作系統文件名和邏輯文件名(在sql語句中會用到)
2、輔助數據文件
用來存儲資料庫的數據,可以擴展存儲空間。
一個資料庫可以有多個輔助數據文件。擴展名為.ndf
3、事務日誌文件
用來存放資料庫的事務日誌。凡是對資料庫進行的增、刪、改等操作,都會記錄在事務日誌文件中。
每個資料庫至少有一個事務日誌文件。擴展名為.ldf