მონაცემთა ბაზის დიზაინი. მონაცემთა ბაზის მხარდაჭერა (მონაცემებზე წვდომის ტექნოლოგიები. აპლიკაციის შექმნა მონაცემთა ბაზის საშუალებით)

მონაცემთა ბაზებთან მუშაობის აპლიკაციების შექმნა.

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

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

ნომერი

დეპარტამენტი

გვარი

სახელი

გვარი

Დაბადების წელი

სართული

დამახასიათებელი

ფოტო

რიცხ

დეპ

ფამ

ნამ

პარ

წელი_ბ

სექსი

პერსონაჟი

ფოტო

Აღრიცხვა

ივანოვი

ივანე

ივანოვიჩი

1950

სახელოსნო 1

პეტროვი

პეტრე

პეტროვიჩი

1960

სახელოსნო 2

სიდოროვი

სიდორი

სიდოროვიჩი

1955

სახელოსნო 1

ივანოვა

ირინა

ივანოვნა

1961

Სვეტებიცხრილები შეესაბამება ობიექტების მახასიათებლებს - ველებს. თითოეულ ველს ახასიათებს სახელი და შენახული მონაცემების ტიპი. სფეროს სახელიარის იდენტიფიკატორი, რომელიც გამოიყენება სხვადასხვა პროგრამებში მონაცემთა მანიპულირებისთვის. ნებისმიერი იდენტიფიკატორის მსგავსად, ველის სახელი შეიძლება შედგებოდეს მხოლოდ ლათინური ასოებისგან, მხოლოდ ერთი სიტყვისგან და ა.შ. (ცხრილის მე-2 სტრიქონი).

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

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

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

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

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

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

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

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

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

იქმნება მონაცემთა ბაზები და მათზე მოთხოვნები მუშავდება მონაცემთა ბაზის მართვის სისტემებით - DBMS: პარადოქსი, Microsoft Access, FoxPro, Oracle, InterBaseდა ა.შ.

სხვადასხვა DBMS აწყობს და ინახავს მონაცემთა ბაზებს სხვადასხვა გზით. პარადოქსი იყენებს ერთ ფაილს თითოეული ცხრილისთვის. Microsoft Access-სა და InterBase-ში რამდენიმე ცხრილი ინახება როგორც ერთი ფაილი. ამ შემთხვევაში, მონაცემთა ბაზა არის ფაილის სახელი, რომელსაც აქვს მასზე წვდომის გზა. კლიენტი/სერვერული სისტემები (Sybase, Microsoft SQl, Oracle) ინახავს ყველა მონაცემს ცალკე კომპიუტერზე და კლიენტთან ურთიერთობს სპეციალური ენის - SQL-ის გამოყენებით.

მონაცემთა ბაზებზე წვდომის გასამარტივებლად გამოიყენება მონაცემთა ბაზის მეტსახელები. მეტსახელი (მეტსახელი)შეიცავს ყველა საჭირო ინფორმაციას მონაცემთა ბაზაზე წვდომის უზრუნველსაყოფად. ეს ინფორმაცია მხოლოდ ერთხელ არის მოხსენებული ალიასის შექმნისას. და აპლიკაცია იყენებს მეტსახელს მონაცემთა ბაზასთან კომუნიკაციისთვის. ამ შემთხვევაში, აპლიკაციას არ აინტერესებს, სად მდებარეობს მონაცემთა ბაზა ფიზიკურად და ხშირად DBMS, რომელიც ქმნიდა და ინახავს ამ მონაცემთა ბაზას, ასევე გულგრილია. დირექტორია სისტემის, სერვერის და ა.შ. შეცვლისას. არ არის საჭირო განაცხადში რაიმეს შეცვლა. საკმარისია მონაცემთა ბაზის ადმინისტრატორმა შეიტანოს შესაბამისი ინფორმაცია ალიასში.

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

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

საშუალებებიDelphi, შექმნილია აპლიკაციების შემუშავებისა და მუშაობისთვის, რომლებიც იყენებენ მონაცემთა ბაზებს:

BDE (Borland Database Engine) – Borland მონაცემთა ბაზის ძრავა. ეს არის DLL ბიბლიოთეკების ნაკრები, რომელიც უზრუნველყოფს დაბალი დონის წვდომას ადგილობრივ და კლიენტ-სერვერის მონაცემთა ბაზებზე. უნდა იყოს დაინსტალირებული ყველა კომპიუტერზე, რომელიც იყენებს მონაცემთა ბაზის აპლიკაციებს დაწერილი Delphi-სთვის.

SQL Links – დრაივერები დისტანციური მონაცემთა სერვერებთან მუშაობისთვის (MS SQL Server, Oracle)

BDE Administrator არის პროგრამა, რომელიც დააყენებს მონაცემთა ბაზის მეტსახელებს (სახელებს), მონაცემთა ბაზის პარამეტრებს და მონაცემთა ბაზის დრაივერებს კონკრეტულ კომპიუტერზე. დელფის გამოყენებით შექმნილი აპლიკაციიდან მონაცემთა ბაზასთან მუშაობისას, მონაცემთა ბაზაზე წვდომა ხდება მისი მეტსახელით. ფსევდონიმით განსაზღვრული მონაცემთა ბაზის პარამეტრები მოქმედებს მხოლოდ ამ მონაცემთა ბაზისთვის; მონაცემთა ბაზის დრაივერისთვის მითითებული პარამეტრები მოქმედებს ყველა მონაცემთა ბაზისთვის, რომელიც იყენებს დრაივერს. გარდა ამისა, შეგიძლიათ დააყენოთ ყველა მონაცემთა ბაზისთვის საერთო პარამეტრები, როგორიცაა თარიღი და დროის ფორმატი, რიცხვითი მნიშვნელობების წარმოდგენის ფორმატები, გამოყენებული ენის დრაივერი და ა.შ.

მონაცემთა ბაზის სამუშაო მაგიდა (DBD)) – ინსტრუმენტი მონაცემთა ბაზის შექმნის, შეცვლისა და ნახვისათვის. ეს პროგრამა ძირითადად ორიენტირებულია ადგილობრივ DBMS-ებში ცხრილებთან მუშაობაზე, როგორიცაა Paradox. თქვენ შეგიძლიათ, გარკვეული შეზღუდვით, შექმნათ და ნახოთ სერვერებზე გაშვებული მონაცემთა ბაზის ცხრილები: InterBase, MS SQL Server, Oracle.

DBD საშუალებას აძლევს პროგრამისტს შექმნას მოთხოვნა მონაცემთა ბაზაში QBE (Query By Example) მეთოდის გამოყენებით.

SQL Explorer არის უნივერსალური პროგრამა, რომელიც აერთიანებს BDE Administrator-ისა და DBD-ის ბევრ ფუნქციას. მისი დახმარებით შეგიძლიათ შექმნათ და ნახოთ მონაცემთა ბაზის ფსევდონიმები, ნახოთ მონაცემთა ბაზის ცხრილების სტრუქტურები და შინაარსი, შექმნათ მონაცემთა ბაზის მოთხოვნები SQL-ში და შექმნათ მონაცემთა ლექსიკონები (ცხრილის ველების შაბლონები).

SQL Monitor არის ინსტრუმენტი SQL მოთხოვნების შესრულების თვალყურის დევნებისთვის.

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

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

მონაცემთა ბაზებთან მუშაობის პროგრამების მახასიათებლები.

დელფის გამოყენებით შექმნილი პროგრამების დამახასიათებელი თვისება მონაცემთა ბაზებთან მუშაობისთვის არის მათში BDE-ს შეუცვლელი გამოყენება. (რელაციური მონაცემთა ბაზის პროცესორიბორლანდის მონაცემთა ბაზის ძრავა შეიცავს Delphi), რომელიც მოქმედებს როგორც დამაკავშირებელი ხიდი პროგრამასა და მონაცემთა ბაზას შორის.


BDEიღებს ყველა დაბალი დონის სამუშაოს, რათა კლიენტის პროგრამას მიაწოდოს მისთვის საჭირო მონაცემები, ასე რომ, ზოგად შემთხვევაში, პროგრამის ურთიერთქმედება მონაცემებთან ხდება შემდეგნაირად:

BDEარ არის პროგრამის ნაწილი. DBMS-ის ტიპის მიხედვით, ის შეიძლება განთავსდეს კლიენტზე ან სერვერზე.

ჩვეულებრივ პროგრამასა და BDEარსებობს კომპონენტების ფენა, რომელიც მნიშვნელოვნად ამარტივებს პროგრამის შემუშავებას. არავიზუალური კომპონენტები პირდაპირ მუშაობენ BDEდა სამი მათგანი (TTable, TQuery, TStoredProc) ემსახურება მონაცემთა ნაკრების ფუნქციას, ხოლო ვიზუალური კომპონენტები აჩვენებს მათთვის მიწოდებულ მონაცემებს და ემსახურება მოსახერხებელი მომხმარებლის ინტერფეისის შექმნას. მონაცემთა ნაკრებებსა და ვიზუალურ კომპონენტებს შორის აუცილებლად არის TDataSource კომპონენტები, რომლებიც ასრულებენ სარქველების როლს, რომლებიც ხსნიან ან ხურავენ მონაცემთა ნაკადებს, რომლებსაც წყაროები ცვლიან ვიზუალურ კომპონენტებთან (იხ. სურათი).

ზოგიერთმა მხარი დაუჭირადელფის მონაცემთა ბაზის ტიპები.

ლოკალური და ფაილური სერვერის მონაცემთა ბაზები.

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

ლოკალურ ვარიანტს შეუძლია უზრუნველყოს მხოლოდ ერთი მომხმარებლის მონაცემების წვდომის რეჟიმი.

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

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

კლიენტ-სერვერის მონაცემთა ბაზები.

კლიენტ-სერვერის არქიტექტურაში BDE-სა და მონაცემთა ბაზას შორის ჩნდება მნიშვნელოვანი შუალედური ბმული - მონაცემთა ბაზის სერვერი (სპეციალური პროგრამა, რომელიც მართავს მონაცემთა ბაზას).

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

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

მონაცემთა ბაზის მეტსახელების შექმნა და ნახვა.

  1. ᲒამოყენებითDBD.

ჩვეულებრივ გამოწვევა მონაცემთა ბაზის სამუშაო მაგიდაშედის Delphi-ის მთავარ მენიუში ინსტრუმენტების ქვეშ. თუ ეს არ გაკეთებულა, შეგიძლიათ ჩართოთ ის ბრძანებით Tools|Configure Tools... (ფაილი DBD32.exe).

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

თქვენ შეგიძლიათ შექმნათ და ნახოთ მეტსახელები Tools|Alias ​​Manager ბრძანების გაშვებით. ჩნდება ალიას მენეჯერის ფანჯარა:


როდესაც ირჩევთ ალიასს მონაცემთა ბაზის Alias-ის სიაში, ჩამოსაშლელ სიაში დრაივერის ტიპი ავტომატურად იცვლება.


  1. ᲒამოყენებითBDE ადმინისტრატორი.


  1. Გამოყენებითმონაცემთა ბაზის Explorer (SQL Explorer).

ეს პროგრამა გამოიძახება დელფის მთავარი მენიუდან ბრძანებით Database| Გამოკვლევა.


Delphi არის განვითარების გარემო, რომელიც იყენებს დელფის პროგრამირების ენას (დაწყებული 7 ვერსიიდან, გარემოში არსებულ ენას ეძახიან Delphi, ადრე Object Pascal), შემუშავებული Borland-ის მიერ და თავდაპირველად დანერგილი Borland Delphi პაკეტში, საიდანაც მან მიიღო ამჟამინდელი სახელი. 2003 წელს. Object Pascal არსებითად არის Pascal ენის მემკვიდრე ობიექტზე ორიენტირებული გაფართოებებით.

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

Delphi 7 ოჯახის მახასიათებლები:

*აპლიკაციების განვითარების სწრაფი გარემო, რომელიც აერთიანებს ინსტრუმენტებს ელექტრონული კომერციის აპლიკაციებისა და ვებ სერვისების შემუშავებისა და დანერგვის მოდელირებისთვის.

*Win32-ისთვის (Delphi და C/C++) და .NET-ისთვის (Delphi და C#) პროგრამირების ენების მხარდაჭერა ერთ დეველოპერულ გარემოში, რაც აადვილებს ახალი Win32 აპლიკაციების შენარჩუნებას და შექმნას და უფრო ადვილად დაუფლებას .NET ტექნოლოგიებს;

*როგორც ტრადიციული ვინდოუსის, ასევე ჯავის დეველოპერებისთვის შესაძლებლობა განავითარონ .NET აპლიკაციები მათ მიერ გამოყენებული ინსტრუმენტების მიტოვების გარეშე, იგივე უნარების შენარჩუნებისა და პროგრამირების მსგავსი კონცეფციების გამოყენების გარეშე;

*კოდების შაბლონების ახალი სისტემა და სხვა ინოვაციები დეველოპერულ გარემოში ხარისხობრივად აუმჯობესებს საწყის კოდებთან მუშაობას და ზრდის განვითარების პროდუქტიულობას;

Microsoft SQL Server 2000 არის სრული მონაცემთა ბაზა და მონაცემთა ანალიტიკა, რომელიც გთავაზობთ მასშტაბური ელექტრონული კომერციის გადაწყვეტილებების, ბიზნეს აპლიკაციებისა და მონაცემთა საწყობების სწრაფად შესაქმნელად.

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

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

მონაცემთა ბაზის აპლიკაციის შემუშავება დელფის პროგრამირების გარემოს ერთ-ერთი ყველაზე მოთხოვნადი შესაძლებლობაა. Delphi-ის ძალა და მოქნილობა მონაცემთა ბაზებთან მუშაობისას ეფუძნება დაბალი დონის მონაცემთა ბაზის პროცესორს - Borland Database Engine (BDE). აპლიკაციის პროგრამებთან მის ინტერფეისს ეწოდება ინტეგრირებული მონაცემთა ბაზის აპლიკაციის პროგრამირების ინტერფეისი (IDAPI). BDE გაძლევთ საშუალებას შეხვიდეთ მონაცემებზე როგორც ტრადიციული ჩანაწერზე ორიენტირებული (ნავიგაციის) მიდგომის გამოყენებით, ასევე კომპლექტზე ორიენტირებული მიდგომის გამოყენებით, რომელიც გამოიყენება SQL მონაცემთა ბაზის სერვერებში.

ობიექტის ბიბლიოთეკა შეიცავს ვიზუალური კომპონენტების ერთობლიობას, რომლებიც მნიშვნელოვნად ამარტივებს DBMS აპლიკაციების შემუშავებას კლიენტ-სერვერის არქიტექტურით. ობიექტები ათავსებენ ქვედა დონეს - Borland Database Engine.

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

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

ცხრილები ინახება მონაცემთა ბაზაში. ზოგიერთი DBMS ინახავს მონაცემთა ბაზას რამდენიმე ცალკეული ფაილის სახით, რომლებიც წარმოადგენს ცხრილებს (ძირითადად ყველა ადგილობრივი DBMS), ზოგი კი შედგება ერთი ფაილისგან, რომელიც შეიცავს ყველა ცხრილს და ინდექსს (InterBase).

Delphi-ის მონაცემთა ბაზის ობიექტები დაფუძნებულია SQL-ზე და მოიცავს Borland Database Engine-ის სრულ ძალას. Delphi ასევე შეიცავს Borland SQL Link-ს, ამიტომ Oracle, Sybase, Informix და InterBase მონაცემთა ბაზებზე წვდომა ძალზე ეფექტურია. გარდა ამისა, Delphi მოიცავს ადგილობრივ Interbase სერვერს, რათა აპლიკაციები განვითარდეს ოფლაინში და გაფართოვდეს ნებისმიერ გარე SQL სერვერზე.

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

მიუხედავად იმისა, რომ Delphi-ს არ აქვს მონაცემთა ბაზის ცხრილის საკუთარი ფორმატი, ის მაინც უზრუნველყოფს მძლავრ მხარდაჭერას დიდი რაოდენობით სხვადასხვა DBMS - როგორც ადგილობრივი (მაგალითად, dBase ან Paradox) და ინდუსტრიული (მაგალითად, Sybase ან InterBase).

მოდით შევქმნათ მონაცემთა ბაზის მარტივი აპლიკაცია, რომელიც აჩვენებს ინფორმაციას "ტურისტების" ცხრილიდან და "ტურისტული ინფორმაციის" ცხრილის ჩანაწერს Microsoft Access მონაცემთა ბაზიდან, რომელიც დაკავშირებულია "ტურისტების" ცხრილის მიმდინარე ჩანაწერთან.

ამისათვის შევქმნათ ცარიელი Windows აპლიკაცია. გარემოს გარეგნობა

განვითარება ნაჩვენებია სურათზე 39.

ბრინჯი. 39. ცარიელი განაცხადი

სურათი 39 ხაზს უსვამს "მონაცემთა" კომპონენტთა ჯგუფს, რომელიც შეიცავს კომპონენტებს მონაცემების წვდომისა და მანიპულირებისთვის.

მონაცემთა ბაზის მონაცემების ფორმასთან დაკავშირება ხორციელდება "Binding Source" კომპონენტით. გადავიტანოთ ფორმაში. ფორმაზე განთავსების შემდეგ განვითარების გარემო იღებს შემდეგ ფორმას (სურ. 40).

ბრინჯი. 40. Binding Source კომპონენტი ფორმაზე

კომპონენტი არ არის ვიზუალური, ამიტომ ის ნაჩვენებია დამატებით პანელში. კომპონენტის მთავარი თვისებაა DataSource თვისება, რომელიც მიუთითებს მონაცემთა წყაროზე. ნაგულისხმევად, თვისება ცარიელია, ამიტომ მისი მნიშვნელობის კონფიგურაცია გჭირდებათ. თვისებების ფანჯარაში ამ თვისების არჩევისას გამოჩნდება შემდეგი ფანჯარა (სურ. 41).

ბრინჯი. 41. მონაცემთა წყაროების სია

სია ამჟამად ცარიელია, ასე რომ თქვენ უნდა შექმნათ მონაცემთა ახალი წყარო ბრძანების დამატება პროექტის მონაცემთა წყაროს არჩევით, რათა შექმნათ ახალი მონაცემთა წყარო და დაუკავშირდეთ მას. ჩნდება შემდეგი დიალოგური ფანჯარა (სურ. 42).

ბრინჯი. 42. მონაცემთა წყაროების სია

ეს დიალოგი გთავაზობთ მონაცემთა წყაროების შემდეგ არჩევანს:

მონაცემთა ბაზა - მონაცემთა ბაზა;

სერვისი - სერვისი არის სერვისი, რომელიც უზრუნველყოფს მონაცემებს. ყველაზე ხშირად ეს არის ვებ სერვისი;

ობიექტი - ობიექტი ობიექტის ასარჩევად, რომელიც გამოიმუშავებს მონაცემებს და ობიექტებს მასთან სამუშაოდ.

ჩვენს შემთხვევაში, თქვენ უნდა აირჩიოთ "მონაცემთა ბაზის" პუნქტი. ჩნდება ფანჯარა მონაცემთა კავშირის არჩევისთვის (სურ. 43).

ბრინჯი. 43. მონაცემთა კავშირის არჩევა

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

დიალოგის ჩამოსაშლელი სია შეიცავს ყველა ადრე შექმნილ კავშირს. თუ საჭირო კავშირი არ არის სიაში, მაშინ უნდა გამოიყენოთ ღილაკი „ახალი კავშირი“. ღილაკზე დაჭერით გამოჩნდება შემდეგი დიალოგი (სურ. 44).

ამ დიალოგში ირჩევთ მონაცემთა წყაროს ტიპს (ამ შემთხვევაში, Microsoft Access), მონაცემთა ბაზის სახელს (ამ შემთხვევაში, მონაცემთა ბაზის ფაილის სახელი და მდებარეობა) და მონაცემთა ბაზასთან დასაკავშირებლად გამოყენებული მომხმარებლის სახელი და პაროლი. ღილაკი "Advanced" საშუალებას გაძლევთ დააყენოთ მრავალი პარამეტრი, რომელიც დაკავშირებულია ADO ძრავის სხვადასხვა ნაწილებთან. ღილაკის „ტესტი კავშირის“ გამოყენებით უზრუნველყოფილია, რომ შეყვანილი პარამეტრები სწორია და კავშირი მუშაობს.

ბრინჯი. 44. ახალი კავშირის შექმნა

დიალოგის ბოლო ნაბიჯი არის იმ ცხრილების ან მონაცემთა ბაზის სხვა ობიექტების შერჩევა, რომლებიც საჭიროა ამ მონაცემთა წყაროში. შერჩევის ფანჯარა ნაჩვენებია სურათზე 45.

ბრინჯი. 45. საჭირო ცხრილების შერჩევა

ამ ფანჯარაში არჩეულია ცხრილები "ტურისტები" და "ტურისტული ინფორმაცია". ვინაიდან მონაცემთა ბაზაში ცხრილების გარდა სხვა ობიექტები არ შექმნილა, მხოლოდ ცხრილებია ნაჩვენები სურათზე 45. ეს ასრულებს მონაცემთა წყაროს შექმნას. ღილაკზე „დასრულება“ დაწკაპუნების შემდეგ, ფორმაში BindingSource კომპონენტის გვერდით გამოჩნდება DataSet კომპონენტი.

ახლა ზემოთ დაკავშირებული მონაცემები ფორმაში უნდა იყოს ნაჩვენები. მონაცემთა ჩვენების უმარტივესი გზაა მონაცემთა კომპონენტის ჯგუფიდან DataGridView კომპონენტის გამოყენება. კომპონენტი ვიზუალურია და ფორმაზე ასე გამოიყურება (სურ. 46).

ბრინჯი. 46. ​​DataGridView კომპონენტი

მაშინვე ჩნდება კომპონენტის პარამეტრების ფანჯარა, რომელიც განსაზღვრავს მის მონაცემთა რედაქტირების შესაძლებლობებს: „ჩართეთ დამატება“, „ჩართეთ რედაქტირება“, „ჩართეთ წაშლა“; სვეტების თანმიმდევრობის შეცვლის შესაძლებლობა: „ჩართეთ სვეტების თანმიმდევრობის შეცვლის შესაძლებლობა“ („ჩართეთ სვეტების გადალაგება“); ასევე მშობელ კონტეინერზე მიმაგრების შესაძლებლობა.

იმისათვის, რომ კომპონენტმა აჩვენოს მონაცემები, თქვენ უნდა აირჩიოთ მონაცემთა წყარო ჩამოსაშლელ სიაში. ჩამოსაშლელი სიის არჩევა იწვევს შემდეგი დიალოგის გამოჩენას (ნახ. 47).

ბრინჯი. 47. მონაცემთა წყაროს შერჩევა DataGridView-ისთვის

ამ შემთხვევაში მონაცემთა წყაროდ ავირჩიეთ ცხრილი „ტურისტები“. ეს შერჩევა ცვლის ეკრანის ფორმას შემდეგნაირად (ნახ. 48).

ბრინჯი. 48. DataGridView კომპონენტი აჩვენებს ცხრილის სტრუქტურას

სურათი გვიჩვენებს, რომ გამოჩნდა კიდევ ერთი BindingSource კომპონენტი და TableAdapter კომპონენტი, რომელიც მუშაობს "ტურისტების" ცხრილში. გთხოვთ გაითვალისწინოთ, რომ დიზაინის დროს ან განვითარების პროცესში, ცხრილიდან მონაცემები არ არის ნაჩვენები.

ახლა თქვენ უნდა აჩვენოთ მონაცემები დაკავშირებული ცხრილიდან "ტურისტული ინფორმაცია". ამისთვის ფორმაზე მოათავსეთ სხვა DataGridView კომპონენტი და მონაცემთა წყაროდ აირჩიეთ შემდეგი (სურ. 49).

ბრინჯი. 49. მონაცემთა წყაროს შერჩევა მეორე DataGridView-ისთვის

აქ მონაცემთა წყარო არ არის თავად „ტურისტული ინფორმაციის“ ცხრილი, არამედ კავშირი (Binding Source) „ტურისტების“ და „ტურისტული ინფორმაციის“ ცხრილებს შორის. ეს შერჩევა უზრუნველყოფს ტურისტული ინფორმაციის ცხრილიდან მხოლოდ იმ სტრიქონების შერჩევას, რომლებიც ასოცირდება ტურისტების ცხრილის მიმდინარე მწკრივთან. ეს არჩევანი ასევე უზრუნველყოფს ასოცირებული მონაცემების სწორად განახლებას და წაშლას. შედეგად მიღებული აპლიკაციის მოქმედება ნაჩვენებია სურათზე 50.

ბრინჯი. 50. მონაცემთა ბაზის აპლიკაცია სამუშაოზე

ისრის ღილაკების გამოყენებით მონაცემებში ნავიგაცია უხერხულია. მონაცემთა ნავიგაციის გასამარტივებლად, არის BindingNavigator კომპონენტი. მოვათავსოთ ფორმაზე (სურ. 51).

ბრინჯი. 51. BindingNavigator კომპონენტი ფორმაზე

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

თვისება, რომელიც განსაზღვრავს ცხრილს, რომლის მეშვეობითაც ხდება ნავიგაცია, არის BindingSource თვისება. მოდით დავაყენოთ ამ ქონების მნიშვნელობა "touristsBindingSource". მუშაობისას კომპონენტი ასე გამოიყურება (სურ. 52).

ბრინჯი. 52. BindingNavigator კომპონენტი მუშაობაში

მონაცემთა რედაქტირება DataGridView კომპონენტის უჯრედებში შესაბამისი პარამეტრებით შესაძლებელია, მაგრამ ეს მოუხერხებელია და არა რაციონალური. კერძოდ, ძნელია შეყვანილი მნიშვნელობების შემოწმება შეცდომებისთვის. ამიტომ, „ტურისტების“ ცხრილისთვის ჩვენ გავაკეთებთ ეკრანის ფორმას, რომელიც საშუალებას გაძლევთ აჩვენოთ მონაცემები TextBox კომპონენტებში და დაარედაქტიროთ ისინი. ამისთვის ფორმაზე მოათავსეთ Panel ტიპის კონტეინერი და მასზე სამი TextBox კომპონენტი (სურ. 53).

ბრინჯი. 53. "ტურისტების" ცხრილში ჩანაწერების რედაქტირების ეკრანის პანელი

ახლა თქვენ უნდა დააკავშიროთ TextBox კომპონენტები ცხრილის "ტურისტების" შესაბამის ველებთან. ამისათვის ჩვენ ვიყენებთ თვისებას DataBindings - Advanced ჯგუფიდან, რომელიც ნაჩვენებია სურათზე 54.

ბრინჯი. 54. თვისება „DataBindings - Advanced“

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

TextBox-ის ზედა კომპონენტისთვის, Binding ჩამოსაშლელ სიაში აირჩიეთ „touristsBmdmgSource“, როგორც მონაცემთა წყარო და წყაროს ველი, როგორც „გვარი“. TextBox-ის შუა და ქვედა კომპონენტებისთვის შეარჩიეთ მონაცემთა იგივე წყარო და ველები „სახელი“ და „პატრონიმი“, შესაბამისად.

ექსპლუატაციაში შემუშავებული აპლიკაცია ასე გამოიყურება (სურ. 56).

ბრინჯი. 55. დიალოგური ფანჯარა „DataBindings - Advanced“ თვისებისთვის

ბრინჯი. 56. მონაცემთა სავალდებულო ვიზუალური კომპონენტები

თუმცა, როდესაც ცვლილებები განხორციელდება, ყველა ახალი მონაცემი რჩება მხოლოდ ფორმაზე. ისინი არ არის შენახული მონაცემთა ბაზაში და როდესაც განაცხადი ხელახლა გამოიძახება, რა თქმა უნდა, ისინი აკლია. ეს ხდება იმის გამო, რომ მონაცემები ჩაიტვირთა DataSet ობიექტში, რომელიც არის ცხრილის მეხსიერების ასლი. ყველა მოქმედება შესრულებულია ამ ასლზე. იმისათვის, რომ ცვლილებები აისახოს მონაცემთა ბაზაში, თქვენ უნდა შეასრულოთ TableAdapter კლასის Update მეთოდი. ამრიგად, შემუშავებულ აპლიკაციაში აუცილებელია განათავსოთ ღილაკი "განახლება" და ჩაწეროთ შემდეგი პროგრამის კოდი Click ღონისძიების დამმუშავებელში:

ტურისტებიTableAdapterUpdate(bDTur_firmDataSet); information_bout_touristsTableAdapter.Update(bDTur_firmDataSet);

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

როგორც ზემოთ აღვნიშნეთ, სპეციალიზებული კომპონენტების სწორი გამოყენება აყენებს მათ შესრულების თვალსაზრისით თითქმის იმავე დონეზე, როგორც შერჩეული DBMS-ის API ზარები. ჩემი აზრით, API-ს გამოყენება გამართლებულია იმ იშვიათ შემთხვევაში, როდესაც განვითარებისთვის კონკრეტული კომპონენტების შესაძლებლობებიც კი არ არის საკმარისი, თუმცა ეს უკიდურესად ნაკლებად სავარაუდოა, ან თუ ასეთი კომპონენტები მიუწვდომელია იმ პლატფორმისთვის, რომლის განვითარებაც მიმდინარეობს. გარეთ (Sun Solaris). შეკითხვის შექმნა მონაცემთა ბაზაში. მონაცემთა ხელმისაწვდომობის სტრატეგიის არჩევის და აპლიკაციის არქიტექტურის შესახებ გადაწყვეტილების მიღების შემდეგ, ჩვენ შეგვიძლია მივაქციოთ ყურადღება, თუ როგორ ვაპირებთ მის გამოყენებას. მთავარი წესი ისაა, რომ რაც უფრო ნაკლებ მონაცემს მოითხოვთ სერვერისგან, მით უფრო სწრაფად იმუშავებს თქვენი აპლიკაცია. რა თქმა უნდა, სერვერს იმაზე ნაკლები მონაცემების მოთხოვნა, ვიდრე მომხმარებელს სურს ერთდროულად ნახოს, ირაციონალურია, ამიტომ პირველი შეკითხვა უნდა იყოს „რა მონაცემებია საჭირო სისტემის თითოეული მოდულისთვის?“ დეველოპერებმა, რომლებიც გადაადგილდებიან დესკტოპის მონაცემთა ბაზებიდან, უნდა გადალახონ მონაცემთა ბაზების მაგიდაზე ორიენტირებული ხედვა. InterBase მონაცემთა ბაზა უდავოდ შეიცავს ცხრილებს. მაგრამ როდესაც თქვენ შეიმუშავებთ პროგრამას, თქვენ არ ხედავთ მათ, ხედავთ მხოლოდ SQL მოთხოვნის შესრულების შედეგს. თქვენ, რა თქმა უნდა, შეგიძლიათ დაწეროთ მოთხოვნა, რომელიც დააბრუნებს ცხრილიდან ყველა ჩანაწერს (მინიმუმ იმ ჩანაწერებს, რომლებიც ჩანს მოცემული ტრანზაქციისთვის):

აირჩიეთ * SOME_TABLE-დან

მაგრამ უმეტეს შემთხვევაში, ასეთი მოთხოვნა დააბრუნებს ბევრად მეტ მონაცემს, ვიდრე საჭიროა მომხმარებლის ინტერფეისის ოპტიმალური მუშაობისთვის და ბიზნეს პროცესების დამუშავებისთვის. სხვათა შორის, ასეთი შეკითხვა არ იყენებს ისეთ სასარგებლო InterBase/Firebird ფუნქციებს, როგორიცაა მონაცემთა ნაკრების შეერთების (JOIN) და დახარისხების (ORDER BY) შესაძლებლობა.

მოითხოვეთ ნაკლები მონაცემები - მიიღეთ მეტი სიჩქარე. შეიძლება არ დაგჭირდეთ ცხრილის ყველა სვეტი თქვენს პროგრამაში გარკვეული ამოცანების შესასრულებლად. სინამდვილეში, თქვენ არ უნდა გამოიყენოთ "*" ნიშანი შერჩეულ შეკითხვებში, უმჯობესია გამოიყენოთ ველების პირდაპირი ჩამოთვლა. ეს მეთოდი ეფუძნება იმ ფაქტს, რომ მაშინაც კი, თუ მე მჭირდება ცხრილის ყველა სვეტი, არ მჭირდება ცხრილის სვეტები, რომლებიც დაემატება მომავალში პროგრამის ამ ნაწილის დასრულებისას. მოთხოვნაში კონკრეტული სვეტების განსაზღვრა უზრუნველყოფს მხოლოდ იმ სვეტებს, რომლებიც გამოვაცხადე მოთხოვნაში, მაშინაც კი, თუ ცხრილის სტრუქტურა შემდგომ განვითარდება. ანალოგიურად, მაშინაც კი, თუ მომხმარებელს ნამდვილად სჭირდება ცხრილის თითოეული მწკრივი, მას არ სჭირდება ყველა დროის ერთ მომენტში ნახვა. მომხმარებლისთვის შეიძლება უკიდურესად მოუხერხებელი იყოს მონაცემთა ბადის შუაში ველების მოძიება ცხრილში საშუალოზე მაღალი რაოდენობის ჩანაწერებით. ვთქვათ, თუ თქვენს ცხრილში 100-ზე მეტი ჩანაწერია, უკვე კარგად უნდა იფიქროთ თქვენი აპლიკაციის დიზაინზე.
ეს ყველაფერი რა შუაშია? აქ არის საქმე: რაც უფრო ნაკლებ მონაცემს მოითხოვთ და გაგზავნით, მით უფრო სწრაფად იმუშავებს თქვენი აპლიკაცია, თუნდაც არც თუ ისე მაღალსიჩქარიან ქსელებზე. აქ მოცემულია რამდენიმე პრაქტიკული ტექნიკა, რომელთა გამოყენება შეგიძლიათ თქვენს მიერ არჩეული მონაცემების რაოდენობის შესამცირებლად.

მიაწოდეთ მომხმარებელს კარგი ხელსაწყოები მისთვის საინტერესო ჩანაწერების მოსაძებნად. თუ სია ზედმეტად დიდია ერთი მიმდებარე ფორმით გამოსაჩენად, დაყავით იგი ლოგიკურ გვერდებად, ცხრილის სახით A-დან Z-მდე პირველი ასოებით. თუ ამ შემთხვევაში სიები ძალიან გრძელია, მიაწოდეთ მომხმარებელს მონაცემთა ფილტრაციის მძლავრი ხელსაწყოები, რათა შემცირდეს მიღებული ჩანაწერების ნაკრები. აპლიკაციაში მონაცემთა ძიების განსახორციელებლად, შეგიძლიათ გამოიყენოთ ვებ გვერდების საძიებლად გამოყენებული მეთოდები. როდესაც მომხმარებელს ეძლევა ჩანაწერების ნაკრები, თუნდაც ის შედარებით მცირე იყოს, საკმარისია გამოიყენოს ერთი ან ორი საკვანძო ველი შეკითხვის ფილტრის შესაქმნელად. ნება მიეცით აპლიკაციას ჰქონდეს ცალკე ფანჯარა ან ფანჯრის ნაწილი, სადაც მომხმარებელს შეუძლია ნახოს ჩანაწერის ყველა მონაცემი, თუ იპოვა ის, რასაც ეძებდა. ასევე შეეცადეთ გამოიყენოთ ცხრილის შეერთება (JOIN) შეკითხვებში საძიებო ველების ნაცვლად, სადაც ეს შესაძლებელია. მიუხედავად იმისა, რომ შესაძლებელია TDataset-ის შესრულების ოპტიმიზაცია. ძიება, ეს გაუმჯობესებული მეთოდიც არ იმუშავებს უფრო სწრაფად, ვიდრე ცხრილების შეერთება (JOIN) - თქვენ საერთოდ არ გჭირდებათ უცვლელი მეთოდის მუშაობის ხსენება.



გაქვთ შეკითხვები?

შეატყობინეთ შეცდომას

ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: