SQL საფუძვლები

გაეცნობიან DDL, DML და JOIN- ს

სტრუქტურირებული შეკითხვის ენა თანამედროვე მონაცემთა ბაზის არქიტექტურის ერთ-ერთი ფუნდამენტური სამშენებლო ბლოკია. SQL განსაზღვრავს მეთოდებს, რომლებიც გამოიყენება ყველა ძირითადი პლატფორმისათვის დამახასიათებელი მონაცემთა ბაზების შექმნასა და მანიპულირებაზე. ერთი შეხედვით, ენა შეიძლება ჩანდეს დაშინება და რთული, მაგრამ ეს არ არის რთული.

SQL- ის საფუძვლების დანერგვა მოკლედ გამოიყურება რამდენიმე ძირითად ბრძანებებზე, რომლებიც გამოიყენება მონაცემთა ბაზების შექმნისა და რედაქტირებისთვის.

SQL შესახებ

SQL- ის სწორი გამოთქმა არის სადავო საკითხი მონაცემთა ბაზაში. თავის SQL სტანდარტში, ამერიკული ეროვნული სტანდარტების ინსტიტუტმა განაცხადა, რომ ოფიციალური გამოთქმა "es queue el". თუმცა, ბევრი მონაცემთა ბაზის პროფესიონალები გადაიყვანეს slang გამოთქმა "sequel." არჩევანი შენზეა.

SQL მოდის ბევრ არომატს. Oracle მონაცემთა ბაზები გამოიყენებს თავის საკუთრებას PL / SQL- ს. Microsoft SQL Server იყენებს Transact-SQL- ს. ყველა ვარიაცია ეფუძნება ინდუსტრიის სტანდარტული ANSI SQL- ს. ეს დანერგვა იყენებს ANSI- ს შესაბამისი SQL ბრძანებებს, რომლებიც მუშაობენ ნებისმიერი თანამედროვე მონაცემთა ბაზის სისტემაში.

DDL და DML

SQL ბრძანებები შეიძლება დაიყოს ორ მთავარ ქვე-ენაზე. მონაცემთა დეფინიციის ენა (DDL) შეიცავს ბრძანებებს, რომლებიც გამოიყენება მონაცემთა ბაზებისა და მონაცემთა ბაზების შექმნისა და განადგურებისათვის. მონაცემთა ბაზის სტრუქტურის განისაზღვრება DDL- ის, მონაცემთა ბაზის ადმინისტრატორებისა და მომხმარებლების მიერ მონაცემთა მანიპულირების ენაზე (DML) გამოყენება, მასში არსებული მონაცემების ჩასმა, შესწორება და შეცვლა.

მონაცემთა განმარტება ენა ბრძანებები

მონაცემთა განმარტება ენა გამოიყენება მონაცემთა ბაზებისა და მონაცემთა ბაზების შექმნისა და განადგურებისათვის. ეს ბრძანებები, პირველ რიგში, მონაცემთა ბაზის ადმინისტრატორის მიერ არის მონაცემთა ბაზის პროექტის რეგულირებისა და მოხსნის ფაზებზე. აი, შეხედეთ ოთხი ძირითადი DDL ბრძანების სტრუქტურასა და გამოყენებას:

შექმნა. კომპიუტერის მონაცემთა ბაზის მართვის სისტემის ინსტალაცია საშუალებას გაძლევთ შექმნათ და მართოთ მრავალი დამოუკიდებელი მონაცემთა ბაზა. მაგალითად, შეგიძლიათ შეინარჩუნოთ თქვენი კლიენტების კონტაქტების მონაცემთა ბაზა თქვენი გაყიდვების დეპარტამენტისთვის და თქვენი აპარატის პერსონალის მონაცემთა ბაზა. CREATE ბრძანება გამოიყენება იმისათვის, რომ დაამყაროს თითოეული ეს მონაცემთა ბაზა თქვენს პლატფორმაზე. მაგალითად, ბრძანება:

შექმენით DATABASE თანამშრომლები

ქმნის ცარიელი მონაცემთა ბაზის სახელწოდებით "თანამშრომლები" თქვენს DBMS. მონაცემთა ბაზის შექმნის შემდეგ მომდევნო ნაბიჯი არის ცხრილების შექმნა, რომელიც შეიცავს მონაცემებს. ამ მიზნით შეიძლება გამოყენებულ იქნას CREATE ბრძანების კიდევ ერთი ვარიანტი. ბრძანება:

CREATE TABLE personal_info (first_name char (20) არ არის null, last_name char (20) არ არის null, employee_id int არ null)

ადგენს ცხრილს სახელწოდებით "personal_info" მიმდინარე მონაცემთა ბაზაში. მაგალითად, ცხრილში მოცემულია სამი ატრიბუტი: first_name, last_name და employee_id ერთად დამატებითი ინფორმაცია.

გამოყენება. USE ბრძანება საშუალებას გაძლევთ დააკონკრეტო მონაცემთა ბაზა, რომელიც გსურთ მუშაობა DBMS- ში. მაგალითად, თუ თქვენ ამჟამად მუშაობს გაყიდვების მონაცემთა ბაზაში და მინდა გამოსცეს ზოგიერთი ბრძანება, რომელიც გავლენას მოახდენს დასაქმებულთა მონაცემთა ბაზაში, წინამორბედი მათ შემდეგ SQL ბრძანებით:

გამოიყენე თანამშრომლები

მნიშვნელოვანია, რომ ყოველთვის ვიყოთ ცნობიერების მონაცემთა ბაზა, რომელიც მუშაობს SQL ბრძანებების გაცემამდე, რომელიც მანიპულირებს მონაცემებს.

ალტერნატივა. ერთხელ თქვენ შექმენით მაგიდა მონაცემთა ბაზაში, შეგიძლიათ შეცვალოთ მისი განმარტება. ALTER ბრძანება საშუალებას გაძლევთ ცვლილებების შეტანა მაგიდის სტრუქტურაში წაშლა და აღდგენის გარეშე. შეხედეთ შემდეგ ბრძანებას:

ALTER TABLE personal_info დაამატეთ ხელფასი ფული null

ეს მაგალითი დასძენს ახალი ატრიბუტი personal_info მაგიდასთან - თანამშრომელი ხელფასი. "ფულის" არგუმენტი განსაზღვრავს, რომ თანამშრომლის ხელფასი ინახება დოლარებისა და ცენტის ფორმატის გამოყენებით. საბოლოოდ, "null" keyword ეუბნება მონაცემთა ბაზას, რომ ეს OK ამ სფეროში არ შეიცავს ღირებულებას ნებისმიერი მოცემული თანამშრომელი.

DROP. მონაცემთა განსაზღვრის ენათა საბოლოო ბრძანება, DROP, საშუალებას გვაძლევს ამოიღონ მთელი მონაცემთა ბაზის ობიექტები ჩვენი DBMS- დან. მაგალითად, თუ ჩვენ გვინდა მუდმივად ამოიღონ პირადი_ინფლო მაგიდა, რომელიც ჩვენ შევქმენით, ჩვენ ვიყენებთ შემდეგ ბრძანებას:

DROP TABLE personal_info

ანალოგიურად, ქვემოთ მოყვანილი ბრძანება გამოყენებული იქნება მთელი თანამშრომლის მონაცემთა ბაზის ამოღებაზე:

DATP DATABASE თანამშრომლები

გამოიყენეთ ეს ბრძანება მზრუნველობით. DROP ბრძანება ამოშლის მთელი მონაცემთა სტრუქტურების თქვენი მონაცემთა ბაზაში. თუ გსურთ ინდივიდუალური ჩანაწერების წაშლა, გამოიყენეთ მონაცემთა მანიპულირების ენის ბრძანება.

მონაცემთა მანიპულირება ენა ბრძანებები

მონაცემთა მანიპულირება ენა (DML) გამოიყენება მონაცემთა ბაზის ინფორმაციის მოძიება, ჩასმა და შეცვლა. ეს ბრძანებები გამოიყენება მონაცემთა ბაზის მომხმარებელთა მიერ მონაცემთა ბაზის რუტინული მუშაობის დროს.

INSERT. INSERT ბრძანება SQL- ში გამოიყენება არსებული ცხრილისთვის ჩანაწერების დამატება. უკანასკნელ მონაკვეთში პირადი მონაცემების დაბრუნებისას წარმოიდგინეთ, რომ ჩვენი ადამიანური რესურსების დეპარტამენტმა უნდა დაამატო ახალი თანამშრომლის მონაცემთა ბაზა. თქვენ შეგიძლიათ გამოიყენოთ ბრძანება მსგავსია:

INSERT INTO პირადი_ინფო ღირებულებები ("ბარტ", "სიმპსონი", 12345, $ 45000)

გაითვალისწინეთ, რომ რეკორდულად არის განსაზღვრული ოთხი მნიშვნელობა. ეს შეესაბამება ცხრილის ატრიბუტებს, რათა ისინი განისაზღვნენ: first_name, last_name, employee_id და ხელფასი.

აირჩიეთ. SELECT ბრძანება არის ყველაზე ხშირად გამოყენებული ბრძანება SQL- ში. იგი საშუალებას აძლევს მონაცემთა ბაზის წევრებს, მიიღონ კონკრეტული ინფორმაცია, რომელთაც სურთ მიიღონ ოპერატიული ინფორმაცია. შეხედეთ რამდენიმე მაგალითს, ისევ პერსონალის მონაცემთა ბაზის გამოყენებით პერსონალის მონაცემთა ბაზის გამოყენებით.

ქვემოთ მოყვანილი ბრძანება ამოიწურება პირადი ინფორმაციისთვის დამახასიათებელი ყველა ინფორმაცია. გაითვალისწინეთ, რომ ასტექსტი გამოიყენება როგორც SQL- ში wildcard- ში. ეს სიტყვასიტყვით ნიშნავს "აირჩიეთ ყველაფერს personal_info ცხრილიდან".

SELECT * FROM პირადი_ინფო

გარდა ამისა, მომხმარებლებს შეუძლიათ შეზღუდონ ატრიბუტები, რომლებიც მოძიებულია მონაცემთა ბაზიდან. მაგალითად, ადამიანური რესურსების განყოფილებას შეუძლია მოითხოვოს კომპანიის ყველა თანამშრომლის ბოლო სახელები. ქვემოთ მოყვანილი SQL ბრძანება მხოლოდ ამ ინფორმაციას მიიღებს:

SELECT ბოლო_name FROM personal_info

WHERE პუნქტი შეიძლება გამოყენებულ იქნას შეზღუდული ჩანაწერები, რომლებიც მოძიებულია იმ კრიტერიუმების დასაკმაყოფილებლად. აღმასრულებელი დირექტორი შეიძლება იყოს დაინტერესებული ყველა მაღალანაზღაურებადი თანამშრომლის პერსონალის ჩანაწერების გადახედვაზე. შემდეგ ბრძანებას retrieves ყველა მონაცემების ფარგლებში პირადი_info ჩანაწერი, რომ აქვს ხელფასი ღირებულება მეტი $ 50,000:

SELECT * FROM personal_info სად ხელფასი $ 50000

განახლება. UPDATE ბრძანება შეიძლება გამოყენებულ იქნას ცხრილის ფარგლებში არსებული ინფორმაციის შეცვლა, როგორც ნაყარი ან ინდივიდუალურად. ვარაუდობენ, კომპანია ყოველ თანამშრომელს აძლევს ყოველწლიურად ხელფასის 3% -იან ზრდას. შემდეგი SQL ბრძანება შეიძლება გამოყენებულ იქნას სწრაფად გამოიყენოს ეს ყველა თანამშრომელი ინახება მონაცემთა ბაზაში:

განახლება პირადი_ინფო კომპლექტი ხელფასი = ხელფასი * 1.03

როდესაც ახალი თანამშრომელი Bart Simpson აჩვენებს შესრულების ზემოთ და მის ფარგლებს გარეთ მოწოდება მოვალეობა, მენეჯმენტის სურს აღიაროს მისი ვარსკვლავური მიღწევების ერთად $ 5,000 ამაღლება. WHERE პუნქტი შეიძლება გამოყენებულ იქნას Bart- ის გასაშუქებლად:

განახლების თარიღი პირადი ხელფასი = ხელფასი + $ 5000 სადაც employee_id = 12345

წაშლა. და ბოლოს, მოდით შევხედოთ DELETE ბრძანება. თქვენ ნახავთ, რომ ამ ბრძანების სინტაქსი სხვა DML ბრძანებების მსგავსია. სამწუხაროდ, ჩვენი უახლესი კორპორატიული მოგება ანგარიშს არ აკმაყოფილებს მოლოდინს და ცუდი ბარტი ჩაიდინა. DELETE ბრძანება, სადაც მითითება შეიძლება გამოყენებულ იქნას მისი ჩანაწერის წაშლა personal_info მაგიდაზე:

წაიშალოს პერსონალური ინფორმაცია, where employee_id = 12345

გაწევრიანება

ახლა ის, რომ თქვენ ისწავლეთ SQL- ის საფუძვლები, დროა გადავიდეს ერთ-ერთ ყველაზე მძლავრი კონცეფციებზე, რომელსაც ენა სთავაზობს - შემოგვიერთდით. JOIN განაცხადი საშუალებას გაძლევთ დააკავშიროთ მონაცემები სხვადასხვა მაგიდაზე, რათა ეფექტურად დაამუშაონ დიდი რაოდენობით მონაცემები. ეს განცხადებები, სადაც მონაცემთა ბაზის ნამდვილი ძალა ცხოვრობს.

შეისწავლეთ ძირითადი JOIN ოპერაციის გამოყენება ორი მაგიდის მონაცემების შერწყმის მიზნით, გააგრძელეთ მაგალითი PERSONAL_INFO- ს ცხრილის გამოყენებით და დაამატეთ დამატებითი მაგიდა. იფიქროთ, რომ ჩამოყალიბებული აქვს DISCIPLINARY_ACTION ცხრილი, რომელიც შეიქმნა შემდეგი განცხადებით:

შექმენით ცხრილი disciplinary_action (action_id int არ არის null, employee_id int არ არის null, კომენტარები char (500)

ეს მაგიდა შეიცავს კომპანიის თანამშრომლების დისციპლინური გადაცდომის შედეგებს. თქვენ შეამჩნევთ, რომ არ შეიცავს თანამშრომელს თანამშრომლის შესახებ სხვა ინფორმაცია. ადვილი წარმოსადგენია ბევრი სცენარი, სადაც შეიძლება დაგროვდეს ინფორმაცია DISCIPLINARY_ACTION და PERSONAL_INFO ცხრილებიდან.

ვივარაუდოთ, რომ თქვენ მოვალეა შევასრულოთ ანგარიში, რომელიც ჩამოთვლილია ყველა თანამშრომლის მიმართ დისციპლინური გადაცდომის ხელფასით 40,000 დოლარზე მეტი. JOIN ოპერაციის გამოყენება, ამ შემთხვევაში, არის პირდაპირი. ჩვენ შეგვიძლია მივიღოთ ინფორმაცია ამ ბრძანების გამოყენებით:

SELECT პირადი_ინფორმაცია, personal_info.last_name, დისციპლინური _ action.com- ით პირადი_ინფო, დისციპლინური_აქცია, სადაც პირადი პირადი პროფილი პირადი_ინფლო.მომსახურება_იდი = disciplinary_action.employee_id და personal_info.salary> 40000

კოდი განსაზღვრავს ორ მაგიდას, რომელიც გვსურს FROM პუნქტში შეყვანაში და შემდეგ შედის განაცხადი WHERE- ს პუნქტში, რათა შეზღუდოს შედეგები ჩანაწერებზე, რომლებიც შეესაბამება თანამშრომლის პირადობის მოწმობას და შეხვდა ჩვენს კრიტერიუმებს 40 000 დოლარზე მეტი.