Сервер даних

Сервер баз даних виконує обслуговування та управління базою даних та відповідає за цілісність та збереження даних, а також забезпечує операції введення-виведення при доступі клієнта до інформації.

Архітектура клієнт-сервер складається з клієнтів та серверів. Основна ідея полягає в тому, щоб розміщувати сервери на потужних машинах, а додаткам, що використовують мовні компоненти СКБД, забезпечити доступ до них з менш потужних машин-клієнтів за допомогою зовнішніх інтерфейсів.

Мова SQL

Більшість СКБД використовують мову SQL (Structured Query Language — мова структурованих запитів), оскільки вона зручна для опису логічних підмножин БД. Призначення SQL:

  • створення БД і таблиці з повним описом їх структури;
  • виконання основних операцій маніпулювання даними (такі як вставка, модифікація та видалення даних з таблиць);
  • виконання простих та складних запитів.

Одна з ключових особливостей мови SQL полягає в тому, що з її допомогою формуються запити, що описують яку інформацію з бази даних необхідно одержати, а шляхи вирішення цієї завдання програма визначає сама.

Збережені та приєднані процедури

Існують розширені версії мови SQL, які підтримують такі розширення, як збережені та розширені процедури, а також управління ходом програми через розгалуження та організацію циклів. Збережені процедури — це попередньо відкомпільовані оператори мови SQL, які зберігаються на сервері бази даних, що використовує мову SQL. Клієнт запускає збережену процедуру за допомогою команди EXECUTE <ім'я процедури>. Таким чином, по мережі передаються лише два слова. Оскільки ця процедура вже відкомпільована та оптимізована, серверу не потрібно витрачати час на компіляцію та оптимізацію.
Як збережені процедури зазвичай використовуються часто виконувані запити.
Приєднані процедури (тригери) подібні збереженим процедурам та виконуються у відповідь на події, що відбуваються в БД. Коли з деякими додатками мови SQL пов'язана приєднана процедура, виконання цього оператора завжди запускає цілу серію команд, що входять в цю процедуру. Приєднана процедура автоматично виконує одну чи більше операторів мови SQL, всякий раз, коли виконує оператори INSERT, UPDATE або DELETE. Найважливіше застосування приєднаних процедур полягає в забезпеченні посилальної цілісності.

Операційне середовище серверів

Приклади серверів БД:

Кожний сервер БД може працювати на певних типах комп'ютерів та мереж. Операційними системами серверів можуть бути MSDOS, OS/2, Xenix, Unix, Dec VMS. Робочі станції користувачів зазвичай працюють під управління MSDOS, OS/2, Xenix, Unix. Існують можливості змішаного використання різних ОС. Велика частина SQL-серверів може зберігати опис БД в системному каталозі, який зазвичай буває доступний користувачам. Для звернення до цього каталогу використовуються SQL-запити. Реляційні СКБД можуть використовувати інформацію, що зберігається в системному каталозі для оптимізації SQL-запитів.

Посилальна цілісність реляційних БД

Більшість SQL-серверів підтримують посилальну цілісність реляційних БД, що складаються з окремих таблиць, які можуть бути об'єднані на основі загальної інформації.
Розглянемо на наступному прикладі: база даних містить таблицю клієнтів та таблицю замовлень, які пов'язані полем номера клієнта, що містяться в обох таблицях. Оскільки може бути більше одного замовлення від одного клієнта, співвідношення таблиць — «один-до-багатьох». Коли таблиці з'єднані, то таблиця клієнтів є батьківською, а таблиця замовлень — дочірньою. Якщо запис-батько стирається, а відповідні їй дочірні записи — ні, то кажуть, що дочірні записи «осиротіли». Посилальна цілісність означає, що ні в одній таблиці не припустимі записи-«сироти».
Запис може осиротіти трьома способами:

  1. Батьківський запис видалений;
  2. Батьківський запис змінений таким чином, що зв'язок між «батьком» та «нащадками» втрачений;
  3. Введений дочірній запис без відповідного батьківського.

Підтримання посилальної цілісності можливо кількома способами:

  • Через ключі, що зберігаються в таблицях БД (батьківські таблиці містять первинні ключі, що представляють собою комбінації зовнішніх ключів, які можуть бути знайдені всередині кожної з дочірніх таблиць).
  • Використання приєднаних процедур — процедурна посилальна цілісність. Приєднані програми забезпечують посилальну цілісність за рахунок автоматичного виконання операторів SQL всякий раз, коли зустрічається один з операторів UPDATE/INSERT або DELETE (або забороняється видалення батьківського запису, або стираються всі дочірні записи).

Транзакції та цілісність БД

Транзакція — сукупність логічно взаємопов'язаних запитів, спрямованих на узгоджену зміну деякої множини рядків в одній або декількох таблицях БД. Зазвичай при виконанні транзакцій оновлюється кілька таблиць та індексів, пов'язаних з цими таблицями. Для того щоб гарантувати синхронізацію поновлення та цілісність даних, в серверах зазвичай використовується принцип «все або нічого», що означає, що в БД вносяться або всі оновлення або жодне з них. З цією метою ведеться журнал транзакцій, в якому реєструється інформація про всі затребувані зміни. Цей журнал забезпечує можливість «прокрутити назад» здійснені транзакції та відновити попередній стан БД. Це стає важливо, коли зміни в БД, передбачені в одній транзакції, реалізовані лише частково, наприклад, через збій апаратури.

Узгодженість читання

Характерна для багатокористувацьких СКБД. Для її реалізації сервери володіють засобами автоматичного блокування. Рівні, на яких блокується таблиця під час оновлень:

  • вся таблиця;
  • сторінка (фізичний блок розміром від 1 до 4 Кбайт, що містить кілька записів).

Тупикові ситуації

Сервери БД повинні мати засоби визначення стану взаємоблокування (dead lock). При виникненні такої ситуації виконання однієї з транзакцій переривається, виводячи іншу транзакцію зі стану вічного очікування. Перервана транзакція після виключення можливості її блокування виконується спочатку.

Схеми оптимізації робіт на мові SQL

Мета оптимізації полягає у забезпеченні якомога більш швидкого отримання відповіді на запит з мінімальним числом звернень до БД Існує два типи оптимізації на мові SQL:

  1. Оптимізація по синтаксису;
  2. Оптимізація за витратами;

Оптимізація по синтаксису використовує той факт, що в мові SQL ефективність запиту залежить від того, як він сформульований. В цьому випадку оптимізація залежить від кваліфікації програміста.
При оптимізації за витратами відбувається збір відомостей про БД — числі таблиць, числі рядків, типі даних в кожному рядку, доступності індексування для конкретного стовпця, тощо. Оптимізатор використовує цю інформацію для вироблення найкращого плану обробки запитів.
Переваги методу оптимізації за витратами: завдання визначення найкращого способу виконання запиту перекладається з користувача на процесор БД. Недолік: знаходження оптимального методу само по собі може зайняти багато часу.

Read other articles:

Galaksi Kincir AnginData pengamatan (J2000 epos)Rasi bintangUrsa MajorAsensio rekta 14j 03m 12.6dDeklinasi +54° 20′ 57″Pergeseran merah0.000804Kecepatan radial helio241 ± 2 km/sJarak20.9 ± 1.8 Mtc (6.4 ± 0.5 Mpc)Magnitudo semu (V)7.86Ciri-ciriJenisSAB(rs)cdUkuran semu (V)28′.8 × 26′.9Penamaan lainMessier 101, M101, NGC 5457, UGC 8981, PGC 50063, Arp 26Rujukan: [1][2][3][4][5][6] Galaksi Kincir...

 

Ahmad Ridha Sabana Ketua Umum Partai GarudaPetahanaMulai menjabat 16 April 2015 Informasi pribadiLahir22 Januari 1972 (umur 52)Banjarmasin, Kalimantan Selatan, Indonesia[1]Partai politikPartai GarudaHubunganAhmad Riza Patria (saudara)Orang tuaK.H. Amidhan Shaberah (ayah)PekerjaanPolitikusSunting kotak info • L • B H. Ahmad Ridha Sabana, S.E. (lahir 22 Januari 1972) adalah seorang pengusaha dan politikus Indonesia. Ia aktif di Komite Nasional Pemuda Indonesia (KN...

 

نيكولاس لابينتي معلومات شخصية الميلاد 13 أغسطس 1976 (العمر 47 سنة)غوايأكويل، الإكوادور الطول 1.88 م الإقامة ميامي، فلوريدا، الولايات المتحدة الجنسية الإكوادور  الاسم المستعار Nicky أو Nico الوزن 86 كجم استعمال اليد اليمنى أخوة وأخوات جيوفاني لابنتي  الحياة العملية بداية الاحت�...

Riccardo Saponara Saponara nel 2013 Nazionalità  Italia Altezza 184[1] cm Peso 73[1] kg Calcio Ruolo Centrocampista, attaccante Squadra  Ankaragücü Carriera Giovanili 2000-2004 Sporting Forlì2004-2007 Forlì2007-2009 Ravenna2009-2010 Empoli Squadre di club1 2008-2009 Ravenna3 (0)2009-2013 Empoli83 (12)[2]2013-2015 Milan8 (0)2015-2017 Empoli68 (14)2017-2018 Fiorentina29 (2)2018-2019→  Sampdoria22 (2)2019-2020...

 

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne s'appuie pas, ou pas assez, sur des sources secondaires ou tertiaires (février 2019). Pour améliorer la vérifiabilité de l'article ainsi que son intérêt encyclopédique, il est nécessaire, quand des sources primaires sont citées, de les associer à des analyses faites par des sources secondaires. Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article c...

 

Untuk Pemain bola tangan, lihat Hong Jeong-ho (pemain bola tangan). Hong Jeong-ho Informasi pribadiTanggal lahir 12 Agustus 1989 (umur 34)Tempat lahir Jeju, Korea SelatanTinggi 188 cm (6 ft 2 in)Posisi bermain Bek tengahInformasi klubKlub saat ini FC AugsburgNomor 20Karier junior2008–2009 Universitas ChosunKarier senior*Tahun Tim Tampil (Gol)2010–2013 Jeju United 57 (2)2013– FC Augsburg 52 (2)Tim nasional‡2007–2009 Korea Selatan U20 24 (2)2010–2012 Korea Selata...

Raja Ramanna Centre for Advanced TechnologyAbbreviationRRCATFormation19 February 1984 (1984-02-19)PurposePhysicsHeadquartersIndore, Madhya PradeshLocationIndiaCoordinates22°40′01″N 75°48′32″E / 22.667°N 75.809°E / 22.667; 75.809Parent organisationDepartment of Atomic EnergyWebsitewww.rrcat.gov.in The Raja Ramanna Centre for Advanced Technology is a unit of Department of Atomic Energy, Government of India, engaged in R&D in non-nuclear fr...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Xiao Zixian – news · newspapers · books · scholar · JSTOR (June 2010) (Learn how and when to remove this message) A page from a Ming Dynasty edition of the Book of Qi by Xiao Zixian. Xiao Zixian (simplified Chinese: 萧子显; traditional Chinese: 蕭�...

 

  「俄亥俄」重定向至此。关于其他用法,请见「俄亥俄 (消歧义)」。 俄亥俄州 美國联邦州State of Ohio 州旗州徽綽號:七葉果之州地图中高亮部分为俄亥俄州坐标:38°27'N-41°58'N, 80°32'W-84°49'W国家 美國加入聯邦1803年3月1日,在1953年8月7日追溯頒定(第17个加入联邦)首府哥倫布(及最大城市)政府 • 州长(英语:List of Governors of {{{Name}}}]]) •&...

هنودمعلومات عامةنسبة التسمية الهند التعداد الكليالتعداد قرابة 1.21 مليار[1][2]تعداد الهند عام 2011ق. 1.32 مليار[3]تقديرات عام 2017ق. 30.8 مليون[4]مناطق الوجود المميزةبلد الأصل الهند البلد الهند  الهند نيبال 4,000,000[5] الولايات المتحدة 3,982,398[6] الإمار...

 

国民阵线Barisan NasionalNational Frontباريسن ناسيونلபாரிசான் நேசனல்国民阵线标志简称国阵,BN主席阿末扎希总秘书赞比里署理主席莫哈末哈山总财政希山慕丁副主席魏家祥维纳斯瓦兰佐瑟古律创始人阿都拉萨成立1973年1月1日 (1973-01-01)[1]设立1974年7月1日 (1974-07-01)前身 联盟总部 马来西亚  吉隆坡 50480 秋傑区敦依斯迈路太子世贸中心(英�...

 

BIA map of reservations in the U.S. Tribal sovereignty: Map of the U.S. without Indian reservations. Di Amerika Serikat sebuah reservasi Indian adalah tanah yang dikelola oleh sebuah suku Indian di bawah Kantor Urusan Indian, Departemen Dalam Negeri Amerika Serikat. Karena tanah ini merupakan wilayah milik negara, warga Indian Amerika mempunyai kedaulatan kesukuan yang terbatas. Di daerah-daerah reservasi sering kali ada kasino Indian. Di Kanada juga ada lembaga yang serupa, meskipun sejarah...

Untuk wilayah Kanto dalam serial Pokémon, lihat Semesta Pokémon § Kanto. Wilayah Kantō 関東地方WilayahWilayah Kantō di JepangLuas • Total32.423,90 km2 (12,518,94 sq mi)Populasi (Oktober 1, 2015) • Total42.995.031 • Kepadatan1.326/km2 (3,430/sq mi)Zona waktuUTC+09:00 Wilayah Kantō (関東地方 Kantō-chihō) adalah wilayah geografis di Honshu, pulau terbesar di Jepang. Batasnya kira-kira sama dengan hamparan Kanto. Ha...

 

For other uses, see Djerv (disambiguation). Cyrillic letter Cyrillic letter DjervPhonetic usage:/dʑ/, /tɕ/Name (Early Cyrillic alphabet):ꙉєрвThe Cyrillic scriptSlavic lettersАА̀А̂А̄ӒБВГҐДЂЃЕЀЕ̄Е̂ЁЄЖЗЗ́ЅИІЇꙆЍИ̂ӢЙЈКЛЉМНЊОО̀О̂ŌӦПРСС́ТЋЌУУ̀У̂ӮЎӰФХЦЧЏШЩꙎЪЪ̀ЫЬѢЭЮЮ̀ЯЯ̀Non-Slavic lettersӐА̊А̃Ӓ̄ӔӘӘ́Ә̃ӚВ̌ԜГ̑Г̇Г̣Г̌Г̂Г̆Г̈г̊ҔҒӺҒ̌ғ̊ӶД́Д̌Д̈Д̣Д̆ӖЕ̃Ё̄Є̈ԐԐ...

 

Overview of Bangladeshi traffic regulation This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Road signs in Bangladesh – news · newspapers · books · scholar · JSTOR (August 2017) (Learn how and when to remove this message) Road signs in Dhaka Road signs in Bangladesh are similar to those used in some parts of t...

Former B2B e-commerce company Chemdex CorporationFoundedSeptember 1997; 26 years ago (September 1997)FounderDavid PerryDefunctApril 12, 2011; 13 years ago (2011-04-12)FateBankruptcy; acquired by TrubiquityHeadquartersCarlsbad, CaliforniaRevenue $3 million (2003)Net income -$14 million (2003)Total assets $7 million (2003)Total equity -$7 million (2003)Number of employees33 (2003)Footnotes / references[1] Chemdex Corporation, later known as Ventro...

 

Play by Annie Baker Circle Mirror TransformationPhoto from the 2012 Otterbein University productionWritten byAnnie BakerDate premieredOctober 13, 2009 (2009-10-13)Place premieredPlaywrights HorizonsOriginal languageEnglish Circle Mirror Transformation is a play by Annie Baker, centered on drama classes at a community center in Vermont. The play opened Off-Broadway in 2009 and received the Obie Award for Best New American Play. Productions Circle Mirror Transformation premiered ...

 

Marshal of France Abraham de Fabert, marquis d'EsternayAbraham de FabertBorn(1599-10-11)11 October 1599Died17 May 1662(1662-05-17) (aged 62)Allegiance Kingdom of FranceService/branch French ArmyRankMarshal of FranceUnitGardes FrançaisesBattles/warsHuguenot rebellions30 Years' WarFranco-Spanish War Abraham de Fabert, marquis d'Esternay (11 October 1599 – 17 May 1662) was a Marshal of France. Biography Fabert was the son of Abraham Fabert, seigneur de Moulins (died 16...

Pour les autres navires du même nom, voir HMS Challenger. Pour les articles homonymes, voir Challenger. Cet article est une ébauche concernant un bateau ou un navire. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Le HMS Challenger durant son voyage d'exploration 1872-1876. Le HMS Challenger (HMS pour His/Her Majesty's Ship), cinquième du nom, est une corvette de la Royal Navy, à assistance vapeur, lancée ...

 

Cosaque avec son cheval à Alexandropol : photo de Dimitri Ermakov. L'expression peuple cavalier désigne des peuples, en général nomades et vivant sous la tente ou la yourte, qui entretiennent ou ont entretenu un fort lien historique et culturel avec les chevaux. Cet animal est ou fut au centre de leur existence, assurant leurs déplacements comme leurs campagnes guerrières. Spécificités Une des caractéristiques communes des peuples cavaliers, est l'apprentissage de l'équitation ...