Piratçılığa qarşı müdafiə və müəllif hüquqlarının qorunması məqsədilə



Yüklə 285,4 Kb.
Pdf görüntüsü
səhifə3/9
tarix14.01.2018
ölçüsü285,4 Kb.
#20502
1   2   3   4   5   6   7   8   9

2

Ön Söz

bağlanması,  SQL  məhdudiyyətləri  (primary  key,  foreign  key,  not  null, 

check,  unique,  default),  Oracle  verilənlər  bazasının  tipləri,  cədvəllərin 

birləşmə  operatorları  (left  join,  right  join,  full  join,  natural  join  və  s.), 

cədvəllərin  çoxluq  operatorları  (union,  minus,  intersect),  aqreqat 

funksiyaları (min, max, avg, count, sum və s.), tarix funksiyaları, müqayisə 

və şərt operatorları (like, in, not in, exist, not exist, switch-case və s.), 

qruplaşma və sıralama operatorları (group by, having, order by), sorğu 

və korrelyasiya, mürəkkəb sorğu və s. Oracle SQL və verilənlər bazasının 

modelləşdirilməsinə aid çeşidli məsələlər verilmişdir.

Kitab  əsasən  Oracle  verilənlər  bazası  ilə  SQL  dilini  öyrənənləri 

nəzərdə  tutmuşdur.  Buna  baxmayaraq  əlaqəli  verilənlər  bazasının 

modelləşdirilməsi  və  dizaynı  müxtəlif  növ  əlaqəli  verilənlər  bazasının 

idarəetmə  sistemlərindən  (RDBMS),  məsələn,  Oracle,  PostgreSQL, 

Microsoft SQL Server, MySQL və s. asılı olmaması və SQL dilinin demək 

olar ki, "universal" baza dili olması kitabdakı məsələləri asanlıqla digər 

vendorların  RDBMS-lərinə  keçirməyə  imkan  verir.  Kitabda  müxtəlif 

fəaliyyətlərlə  məşğul  olan  şirkət  və  təşkilatların  təqdim  edilmiş 

məlumatlarının  analizindən  başlamış,  ER  diaqramının  qurulması,  SQL 

DDL  skriptinin  yaradılması  və  verilənlər  bazası  üzərində  müştəri  üçün 

mühüm  olan  hesabat  və  sorğuların  hazırlanmasına  kimi  məsələlər  və 

onların alternativ həlləri təqdim edilmişdir.

Kitabdakı  məsələləri  sərbəst  işləməyə  çalışın.  Həllərinizi  Oracle  Book 

Manager  hesabınızla  test  edin.  Daha  sonra  öz  həllərinizi  kitabda  və 

CD-də sizə təqdim edilən həllərlə müqayisəli təhlil edin. Bu planla qısa 

müddətdə  SQL  və  verilənlər  bazasının  modelləşdirilməsi  biliyinizi  real 

təcrübəyə çevirmiş olacaqsınız.

Hər birinizə uğurlar arzulayıram!

Dərin hörmətlə,

Seymur Fərziyev




3

Giriş

Giriş

Əlaqəli Verilənlər Bazası

Kitabda verilən bütün məsələlər məhz əlaqəli verilənlər bazasına (ƏVB) 

aiddir.  Bunun  haqqında  geniş  bilgilər  əldə  etmək  üçün  uyğun  nəzəri 

ədəbiyyatlara  istinad  etmək  lazımdır.  Kitab  praktik  məsələləri  əhatə 

etdiyindən nəzəri məlumatlar ümumiləşdirilmiş halda təqdim edilir.

Əlaqəli  verilənlər  bazası  (ƏVB)  kompüter  sistemlərində  elektron 

məlumatların  idarə  olunmasına  xidmət  edir.  ƏVB  cədvəl  quruluşunda 

olmaqla  bir-biri  ilə  məntiqli  əlaqələrdən  yaranmış  məlumat  anbarıdır. 

Məlumatların bu formada idarə olunması ilk dəfə 1970-ci ildə Edqar Kod 

tərəfindən təklif olunmuşdur.

ƏVB  çoxlu  sayda  torşəkilli  (sütun  və  sətirlərdən  ibarət)  cədvəllərin 

əlaqlənmiş toplusu kimi təsvir edilə bilər. Cədvəlin sütunları bu cədvəldə 

saxlanılacaq  məlumatın  strukturunu,  sətirlər  isə  məlumatın  yazısını 

müəyyən  edir.  Məsələn,  əgər  biz  kitab  haqqında  məlumatları  bir 

cədvəldə saxlamaq istəyiriksə, o zaman müəyyənləşdirməliyik ki, kitab 

haqqında hansı məlumatlar bizə lazımdır. Birbaşa və dolayı yolla kitab 

haqqında müxtəlif məlumatlar mövcud ola bilər. Məsələn, kitabın ISBN 

kodu, kitabın adı, müəllifin adı, yazılma ili, nəşr ili, dərc ili, nəşriyyatın adı, 

nəşriyyatın loqotipi, ünvanı və s. Göründüyü kimi məlumatı təyin edən 

çoxlu sayda meta məlumat saymaq olar. Məlumatı təyin edən məlumata 

meta məlumat deyilir. Fərz edək ki, bizə kitab haqqında verilən sahələrin 

(meta  məlumat)  hamısı  deyil,  yalnız  ilk  üçü  lazımdır.  Bu  halda  kitab 

haqqında saxlayacağımız məlumatların cədvəlini aşağıdakı kimi təyin edə 

bilərik:


CREATE TABLE Kitab

(

 



isbn VARCHAR2(20),

 

kitabin_adi VARCHAR2(100),



 

muellif VARCHAR2(50)

);

Tövsiyə olunur ki, proqram kodunda identifikatorları (cədvəl adı, sütün 



adı və s.) ingilis dilində olan sözlərdən istifadə edərək yazasınız. Bu nə 


4

Giriş

SQL  sintaksisinin  tələbidir,  nə  də  başqa  bir  dilin.  Məsələn,  baxdığımız 

nümunəni yaxşı olar ki, aşağıdakı kimi yazaq:

CREATE TABLE Book

(

 

isbn VARCHAR2(20),



 

title VARCHAR2(100),

 

author VARCHAR2(50)



);

Bununla biz cədvəllərimizdən birini yaratmış olarıq. Əgər bizə müəlliflər 

haqqında məlumatları da saxlamaq lazım olarsa, onda əvvəlcə məlumatları 

saxlayacağımız  yeri  müəyyənləşdirməliyik.  Fikirləşsəniz  ki,  müəlliflər 

haqqında  olan  məlumatları,  məsələn,  müəllifin  email  ünvanı,  telefon 

nömrəsi, yaşayış ünvanı, təvəllüdü və s. 'Kitab' cədvəlində saxlayaq, bu 

düzgün  yanaşma  olmayacaq.  Əslində  müəlliflə  bağlı  olan  məlumatları 

'Kitab' cədvəlində saxlaya bilərik. Hətta 'Kitab' cədvəlinə əlavə sütunlar 

artırmaqla  müəllifin  övladlarının  adını  da  'Kitab'  cədvəlində  saxlamaq 

olar.  Amma  bu  minvalla  biz  cənab  Edqar  Kodun  əlaqəli  verilənlər 

bazası  üçün  təklif  etdiyi  prinsipləri  pozmuş  olacağıq  və  nəticədə  əldə 

edilən  "verilənlər  bazası"  xaotik  bir  məlumat  anbarına  çevrilər.  Bizim 

məqsədimiz isə məntiqli strukturlu əlaqəli verilənlər bazası yaratmaqdır. 

Müəllif  haqqında  detallı  məlumatlar  verilənlərin  strukturu  prinsipinə 

görə ayrı bir cədvəldə saxlanılmalı və 'Kitab' cədvəlinin münasib sütunu 

ilə bağlanmalıdır. Oxşar izahlı nümunə üçün "Təlim Mərkəzi" nümunəsinə 

baxın.

Oracle, PostgreSQL, Microsoft SQL Server, MySQL və ya digər bir əlaqəli 



verilənlər bazası ilə işləmək mahiyyətcə oxşardır. Çünki əlaqəli verilənlər 

bazasının prinsipləri bir qədər əvvəl ümumi müzakirə etdiyimiz prinsipə 

əsaslanır. Fərqlər yalnız müxtəlif əlaqəli verilənlər bazasının idarəetmə 

sistemləri  (RDBMS)  üçün  SQL  dilinin  bir  qədər  fərqli  sintaksislər  təklif 

etməsidir. Məsələn, Oracle verilənlər bazası üçün yazılan SQL sorğuları 

birə-bir  MySQL-də  işlətmək  mümkün  deyil  və  əksinə.  SQL  sorğu  dili 

kobud ifadə edilsə, 90% bütün verilənlər bazası üçün eyni sintaksis təklif 

edir. Yerdə qalan 10% imkanlar isə RDBMS-lərə görə dəyişir.

Əlaqəli verilənlər bazası üzərində CRUD (Create, Read, Update, Delete) 

əməliyyatları  geniş  yayılmışdır.  Bu  əməliyyatlar  məlumatın  verilənlər 

bazasına  yazılması  (INSERT),  verilənlər  bazasından  oxunması  (SELECT), 



Yüklə 285,4 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə