Ma`lumot turlari
|
dan
|
gacha
|
bigint
|
-9.223.372.036.854.775.808
|
9.223.372.036.854.775.807
|
int
|
-2147483648
|
2147483647
|
smallint
|
-32768
|
32767
|
tinyint
|
0
|
255
|
bit
|
0
|
1
|
decimal[ (p[ ,s] )]
p-verguldan oldingi raqamlar soni,
s-verguldan keying raqamlar soni
|
-10 ^ 38 +1
|
10 ^ 38 -1
|
numeric[ (p[ ,s] )]
p-verguldan oldingi raqamlar soni,
s-verguldan keying raqamlar soni
decimal bilan sinonim
|
-10 ^ 38 +1
|
10 ^ 38 -1
|
money
|
-922,337,203,685,477.5808
|
+922,337,203,685,477.5807
|
smallmoney
|
-214,748.3648
|
+214,748.3647
|
Haqiqiy sonlar ma`lumot tiplari
ma`lumot tiplari
|
Dan
|
gacha
|
float
|
-1,79E + 308
|
1,79E + 308
|
real
|
-3.40E + 38
|
3.40E + 38
|
Vaqt va sana ma`lumot tiplari
ma`lumot tiplari
|
Dan
|
gacha
|
Datetime
|
1 yanvar 1753 y.
|
31 dekabr 9999 y.
|
smalldatetime
|
1 yanvar 1900 y.
|
6 iyun 2079 y.
|
Date
|
Faqat sanani saqlaydi
|
time
|
Faqat vaqtni saqlaydi
|
Char
Maksimal 8000 ta simvol. (Fiksirlangan uzunlikdagi ASCII simvollar)
VARCHAR
Maksimal 8000 ta simvol. (Fiksirlanmagan uzunlikdagi ASCII simvollar).
VARCHAR (max)
Maksimal 2^31-1 ta ANSI simvol. (SQL Server 2005 dan keyingi versiyalar).
TEXT
Turli uzunlidagi matnlar (ASCII simvollar), maksimal uzunlik 2 147 483 647 ta simvol.
NCHAR
Maksimal 4000 ta simvol. (Fiksirlangan uzunlikdagi Unicode simvollar)
NVARCHAR
Maksimal 4000 ta simvol. (Fiksirlanmagan uzunlikdagi Unicode simvollar)
NVARCHAR (max)
Maksimal 2^30-1 ta Unicode simvol. (SQL Server 2005 dan keyingi versiyalar).
NTEXT
Turli uzunlidagi matnlar (Unicode simvollar), maksimal uzunlik 1 073 741 823 ta simvol.
binary
maksimal 8000 ta bayt(fiksirlangan uzunlikdagi binary ma`lumotlar)
VARBINARY
maksimal 8000 ta bayt(fiksirlanmagan uzunlikdagi binary ma`lumotlar)
VARBINARY (max)
Maksimal 2^31-1 bayt .(fiksirlanmagan uzunlikdagi binary ma`lumotlar)
image
naksimal 2 147 483 647 bayt. (fiksirlanmagan uzunlikdagi(baytdagi) rasmli ma`lumotlar)
sql_variant
turli tipdagi (SQL Server tomonidan qo`llab quvvatlanadigan tiplar) ma`lumotlarni saqlaydi , text, ntext va timestamp dan tashqari.
timestamp
Baza bo’yicha unikal nomer, yangi satr qo’shilganda yangilab turadi
GUID
Global unikal identifikator (GUID)
XML
XML ma`lumotlarni saqlaydi.
cursor
kursor obyektiga havola
table
jadval ko`rinishidagi ma`lumotlarni saqlaydi
O`quv misoli: Yechilayotgan misollar quyidagi jadvalar asosida bajarilgan;
STUDENT (TALABA)
Stud_ID
|
Surname
|
Name
|
Stipend
|
Kurs
|
City
|
Birthday
|
Univ_ID
|
1
|
Ivanov
|
Ivan
|
150
|
1
|
Orel
|
3.12.92
|
10
|
3
|
Petrov
|
Petr
|
200
|
3
|
Kursk
|
1.12.90
|
10
|
6
|
Sidirov
|
Vadim
|
150
|
4
|
Moskva
|
7.06.89
|
28
|
10
|
Kuzunliknesov
|
Boris
|
0
|
2
|
Brenek
|
08.12.91
|
10
|
12
|
Zayseva
|
Olga
|
25
|
2
|
Lipesk
|
1.05.91
|
10
|
265
|
Pavlov
|
Andrey
|
0
|
3
|
Voronej
|
5.11.89
|
10
|
32
|
Kotov
|
Pavel
|
150
|
5
|
Belgorod
|
NULL
|
14
|
654
|
Muxin
|
Artem
|
200
|
3
|
Voronej
|
1.12.91
|
10
|
276
|
Petrov
|
Anton
|
20
|
4
|
NULL
|
5.08.91
|
22
|
55
|
Belkin
|
Vadim
|
250
|
5
|
Voronej
|
7.01.90
|
10
|
LECTURER (O`qituvchi)
Lecturer_ID
|
Surname
|
Name
|
City
|
Univ_ID
|
24
|
Komsmakov
|
Boris
|
Voronej
|
10
|
46
|
Nikonov
|
Ivan
|
Voronej
|
10
|
74
|
Lagutin
|
Pavel
|
Moskva
|
22
|
108
|
Otrukov
|
Nikolay
|
Moskva
|
22
|
276
|
Nikolayev
|
Viktor
|
Voronej
|
10
|
378
|
Sorokin
|
Andrey
|
Orel
|
10
|
SUBJECT (O`qitiladigan fanlar)
Subj_ID
|
Subj_name
|
Hour
|
Semester
|
10
|
Informatika
|
56
|
1
|
22
|
Fizika
|
34
|
1
|
43
|
Matematika
|
56
|
2
|
56
|
Tarix
|
34
|
4
|
94
|
Ingliz tili
|
56
|
3
|
73
|
j/tarbiya
|
34
|
5
|
University(Universitet)
Univ_ID
|
Univ_name
|
Rating
|
City
|
22
|
MGU
|
606
|
Moskva
|
10
|
BGU
|
296
|
Voronej
|
11
|
HGU
|
345
|
Novosibirsk
|
32
|
PGU
|
416
|
Rostov
|
14
|
BGU
|
326
|
Belgorodok
|
15
|
TGU
|
368
|
Tomsk
|
18
|
BGMA
|
327
|
Voronej
|
EXAM_ MARKS
Exam_ID
|
Student_ID
|
Subj_ID
|
Mark
|
Exam_date
|
145
|
12
|
10
|
5
|
12.01.09
|
34
|
32
|
10
|
4
|
23.01.09
|
75
|
55
|
10
|
5
|
25.01.09
|
238
|
12
|
22
|
3
|
17.06.08
|
639
|
55
|
22
|
Null
|
22.06.08
|
43
|
6
|
22
|
4
|
18.01.09
|
SUBJ_LECT (o’qituvchilarni o’quv fanlari)
Lecturer_ID
|
Subj-Id
|
24
|
10
|
46
|
22
|
74
|
43
|
108
|
56
|
276
|
94
|
328
|
73
|
2. Ob’yekt qatorlari, ob’yekt jadvallari va ichki jadval yaratish va qo’llash
Ma`lumotlar bazasi jadvallarini yaratish
Jadvallarni yaratish uchun CREATE TABLE buyrug'i ishlatiladi. Ushbu buyruq bilan jadval ustunlari va ularning atributlarini aniqlaydigan bir qator operatorlardan foydalanish mumkin. Bundan tashqari, jadvalning xususiyatlarini ifodalaydigan bir qator operatorlardan foydalanish mumkin. Bitta ma`lumotlar bazasida 2 milliardgacha jadval bo'lishi mumkin.
Jadval yaratish uchun umumiy sintaksis quyidagicha:
CREATE TABLE jadval_nomi
(1_ustun_nomi 1_ustun_tipi 1_ustun_atributlari,
2_ustun_nomi 2_ustun_tipi 2_ustun_atributlari,
................................................
N_ustun_nomi N_ustun_tipi N_ustun_atributlari,
jadval atributi
)
CREATE TABLE buyrug'idan keyin yaratilayotgan jadval nomi ko`rsatiladi. Jadvalning nomi ma`lumotlar bazasida uning identifikatori vazifasini bajaradi, shuning uchun u unikal bo'lishi kerak. Nomi128 belgidan oshmasligi kerak. Nom harflar va raqamlardan, shuningdek $ va pastki chiziq belgilaridan iborat bo'lishi mumkin. Bundan tashqari, birinchi belgi harf yoki pastki chiziq bo'lishi kerak.
Ob`yekt nomi(identifikator)da bo'sh joy(probel)lar bo’lmaydi va Transact-SQL kalit so`zlari ham ob’yekt nomi sifatida ishlatilmaydi. Agar identifikatorda bo'sh joy belgilari mavjud bo'lsa, unda u bittalik qo’shtirnoq ichida olinishi kerak. Agar kalit so`zlarni nom sifatida ishlatish zarur bo'lsa, unda bu so`zlar to'rtburchak qavslarga joylashtiriladi.
Misollar:
Users
tags$345
users_accounts
"users accounts"
[Table]
Jadval nomidan so'ng, qavsda barcha ustunlarning parametrlari va oxirida jadvalga tegishli atributlar ko`rsatiladi. Ustun va jadval atributlari ixtiyoriy, ularni yozmasa ham bo’ladi.
CREATE TABLE buyrug'i eng sodda shaklda kamida jadval nomi, ustun nomlari va ma`lumot tiplarini o`z ichiga olishi kerak.
Jadval 1 dan 1024 gacha ustunlarni o`z ichiga olishi mumkin. Har bir ustun joriy jadval bo’yicha unikal nomga ega bo'lishi va unga ma`lumotlar tipi ko`rsatilishi kerak.
Masalan, eng oddiy jadvalning scripti. Customers:
CREATE TABLE Customers
(
Id INT,
Age INT,
FirstName NVARCHAR(20),
LastName NVARCHAR(20),
Email VARCHAR(30),
Phone VARCHAR(20)
)
Misolda, Customers jadvalida oltita ustun aniqlangan: Id, FirstName, LastName, Age, Email, Phone. Birinchi ikkita ustun mijoz identifikatori va yoshini bildiradi va INT tipiga ega, ya'ni ular raqamli qiymatlarni saqlaydi. Keyingi ikkita ustun mijozning familiyasini va ismini anglatadi, hamda NVARCHAR (20) tupiga ega, ya'ni 20 belgidan ko'p bo'lmagan UNICODE satrni aks ettiradi. So'nggi ikkita ustun mijozning elektron pochta manzili va telefon raqamini bildiradi, hamda VARCHAR(30) , VARCHAR (20) tiplariga ega, 20/30 simvolgacha bo’lgan satrni saqlaydi, UNICODE kodlash emas.
Jadvalni o’chirish
Jadvallarni o’chirish uchun quyidagi sintaksisga ega bo'lgan DROP TABLE buyrug'idan foydalaniladi:
DROP TABLE table1 [, table2, ...]
Masalan: Customers jadvalini o’chirish:
DROP TABLE Customers;
Jadval nomini o`zgartirish
"sp_rename" tizim protsedurasi jadvallarning nomini o`zgartirish uchun ishlatiladi. Masalan, userdb ma`lumotlar bazasida "Users" jadvalini "UserAccounts" deb o`zgartirish:
USE usersdb;
EXEC sp_rename 'Users', 'UserAccounts';
Jadval strukturasini va parametrlarini o`zgartirish
Mavjud jadval strukturasini va parametrlarini o`zgartirish uchun ALTER TABLE komandasi ishlatiladi. Masalan jadvalga ustunlar qo’shish ALTER TABLE komandasi quyidagicha bo’ladi:
ALTER TABLE < jadval nomi >
ADD(<ustun nomi > );
Bu komanda natijasida mavjud jadvalga yangi ustun qo’shiladi va unga NULL qiymati yoziladi. Jadvalga bir nechta ustun ham qo’shsa bo’ladi. Ular bir biridan vergul bilan ajratiladi.
Nazorat savollari:
MB da obyektlar nima?
Jadval nima?
Maydon nima?
Maydon turlari nima?
Dostları ilə paylaş: |