डेटाबेस फ़ाइलें। SQLite की फ़ाइल संरचना एक्सेस डेटाबेस फ़ाइलों का कौन सा एक्सटेंशन है

अधिकांश डेस्कटॉप DBMS में, प्रत्येक तालिका डेटाबेसएक अलग फ़ाइल में संग्रहीत किया जाता है जिसमें उचित प्रारूप में सेवा जानकारी और डेटा दोनों शामिल होते हैं। सेवा जानकारी में फ़ाइल की संरचना का वर्णन करने वाली जानकारी शामिल होती है, उदाहरण के लिए, तालिका फ़ील्ड के नाम और डेटा प्रकार, फ़ाइल में रिकॉर्ड की संख्या, फ़ाइल की लंबाई आदि।

अन्य DBMS के विपरीत, माइक्रोसॉफ्ट पहुंचएमडीबी एक्सटेंशन के साथ एक फाइल में सभी ऑब्जेक्ट्स (डेटा एक्सेस पेज को छोड़कर) को स्टोर करता है। इसके अलावा, एमडीबी फ़ाइल में सिस्टम टेबल का एक सेट शामिल होता है जिसमें डेटाबेस ऑब्जेक्ट्स के बारे में सभी आवश्यक जानकारी होती है, जिसमें अन्य प्रारूपों में शामिल टेबल के स्थान और पैरामीटर के बारे में जानकारी शामिल होती है। डिफ़ॉल्ट रूप से, सिस्टम तालिकाएँ Access 2002 डेटाबेस विंडो में प्रदर्शित नहीं होती हैं। इन तालिकाओं तक पहुँचने के लिए, आपको पहुँच विकल्पों में से एक को बदलना होगा। ऐसा करने के लिए, कमांड का चयन करें सेवा, विकल्प(उपकरण, विकल्प), टैब का विस्तार करें राय(देखें) डायलॉग बॉक्स विकल्प(विकल्प) और समूह में प्रदर्शन(दिखाएँ) बॉक्स को चेक करें सिस्टम ऑब्जेक्ट(सिस्टम ऑब्जेक्ट्स)। एक्सेस सिस्टम टेबल केवल पढ़ने के लिए हैं, इसलिए उन्हें उपयोगकर्ता द्वारा संशोधित नहीं किया जा सकता है।

निम्नलिखित डेटाबेस फ़ाइल स्वरूप हैं जिन्हें एक्सेस 2002 द्वारा संलग्न या आयात किया जा सकता है।

  • टेबल पिछला संस्करणएक्सेस 2000 (एमडीबी) को एक्सेस 2002 टेबल की तरह ही संभाला जाता है। उन्हें उपयोगकर्ता से किसी विशेष आयात प्रयास की आवश्यकता नहीं होती है और एक्सेस 2002 टेबल की तरह ही खुलती है। . फर्क सिर्फ इतना होगा कि नाम के बाद खुली फाइलडेटाबेस विंडो के शीर्षक में, कोष्ठक में एक शिलालेख होगा: 2000 प्रारूप तक पहुंचें(एक्सेस 2000 प्रारूप फ़ाइल)।
  • DBASE III, III +, IV, 5, और 7 (DBF) टेबल, MEMO फील्ड फाइल्स (DBT), dBASE III इंडेक्स फाइल्स (NDX), और dBASE IV इंडेक्स फाइल्स (MDX)।

टिप्पणी

मानक ISAM ड्राइवर माइक्रोसॉफ्ट ऑफिस Microsoft डेटा एक्सेस कंपोनेंट (MDAC) 2.1 और बाद के संस्करण के हिस्से के रूप में, DBF फ़ाइलों को केवल-पढ़ने के लिए पहुँच प्रदान करते हैं। बोर्लैंड डेटाबेस इंजन (बीडीई) 4.x या उच्चतर को पढ़ने/लिखने की पहुंच की आवश्यकता है। ऐसे Microsoft ड्राइवर भी हैं जो पढ़ने / लिखने की पहुँच प्रदान करते हैं और BDE को स्थापित करने की आवश्यकता नहीं होती है, लेकिन इसके लिए Microsoft तकनीकी सहायता से संपर्क करने की आवश्यकता होती है।

dBASE III और dBASE IV तालिका और अनुक्रमणिका फ़ाइल स्वरूप डेटाबेस प्रबंधन प्रणालियों के लिए मानक हैं जो पर चलते हैं व्यक्तिगत कम्प्यूटर्स... Access 2002 डेटाबेस प्रबंधन प्रणाली आपको NDX और MDX अनुक्रमणिका फ़ाइलें अनुलग्न करने की अनुमति देती है। जब भी कोई लिंक की गई अनुक्रमित तालिका बदलती है, dBASE एक्सेस स्वचालित रूप से अनुक्रमणिका फ़ाइलों को अद्यतन करता है।

टिप्पणी

NDX (dBASE III), MDX (dBASE IV) अनुक्रमणिका फ़ाइलें वैकल्पिक हैं। हालाँकि, यदि ये फ़ाइलें उपलब्ध हैं, तो उनका उपयोग करना सबसे अच्छा है। अन्यथा, जब लिंक की गई dBASE तालिका बदलती है, तो परिवर्तन अनुक्रमणिका फ़ाइल में प्रतिबिंबित नहीं होते हैं, जो dBASE अनुप्रयोगों में एक्सेस में संशोधित अनुक्रमित तालिकाओं का उपयोग करने का प्रयास करते समय त्रुटियाँ पैदा कर सकते हैं।

यदि आयातित dBASE फ़ाइल में MEMO प्रकार के फ़ील्ड हैं, तो इन फ़ील्ड्स (DBT) के डेटा वाली फ़ाइलें उपलब्ध होनी चाहिए, अर्थात वे तालिका के समान फ़ोल्डर में स्थित होनी चाहिए। यदि एक्सेस 2002 डीबीटी फ़ाइल नहीं ढूँढ सकता है, तो ऐसी तालिका से डेटा संलग्न करना या आयात करना एक त्रुटि उत्पन्न करेगा। जब आप मेमो फ़ील्ड वाली एक्सेस 2002 तालिका से डेटा निर्यात करते हैं, तो एक डीबीटी फ़ाइल स्वचालित रूप से एक डीबीएएसई तालिका में बनाई जाती है और तालिका फ़ाइल के समान नाम दिया जाता है।

  • विरोधाभास तालिका (डीबी) और सूचकांक (पीएक्स) फ़ाइलें 3.x, 4.x और 5.0।

एक्सेस 2002 आपको विरोधाभास तालिका और अनुक्रमणिका फ़ाइलों को संलग्न करने की अनुमति देता है 3.xऔर MS-DOS के लिए 4.x, और Windows 5.0 और 8.0 के लिए Paradox। एक्सेस से पैराडॉक्स टेबल में डेटा अपडेट करते समय, इंडेक्स फाइल टेबल फाइल के साथ उपलब्ध होनी चाहिए। तालिका संलग्न करने की प्रक्रिया में, एक्सेस 2002 स्वचालित रूप से अनुक्रमणिका फ़ाइल (यदि यह मौजूद है) संलग्न करता है।

डेटाबेस तालिकाओं को आयात या संलग्न करते समय उपयोग की जाने वाली सभी अतिरिक्त फ़ाइलें तालिका के साथ एक ही फ़ोल्डर में स्थित होनी चाहिए। यह भी ध्यान देने योग्य है कि टेबल और इंडेक्स फाइलों के साथ काम करने वाले अधिकांश एप्लिकेशन उपयोग करते हैं

इन फ़ाइलों के लिए उपरोक्त मानक एक्सटेंशन का उपयोग करें, हालांकि इसकी आवश्यकता नहीं है। इसलिए, डेटाबेस तालिका के लिए एक विशिष्ट फ़ाइल स्वरूप को परिभाषित करना कभी-कभी गैर-तुच्छ हो सकता है।

इस पोस्ट में, SQLite डेटाबेस को संदर्भ में माना जाएगा, आप डेटाबेस फ़ाइल की संरचना, मेमोरी में डेटा के प्रतिनिधित्व के साथ-साथ बी-ट्री की संरचना और फ़ाइल प्रतिनिधित्व के बारे में जानकारी प्राप्त कर सकते हैं।

डेटाबेस फ़ाइल स्वरूप

संपूर्ण डेटाबेस को "मुख्य डेटाबेस फ़ाइल" नामक डिस्क पर एक फ़ाइल में संग्रहीत किया जाता है। लेन-देन के दौरान, SQLite दूसरी फ़ाइल में अतिरिक्त जानकारी संग्रहीत करता है: रोलबैक जर्नल, या, यदि डेटाबेस WAL मोड में है, तो रिकॉर्ड के बारे में जानकारी के साथ एक लॉग फ़ाइल। यदि कोई एप्लिकेशन या कंप्यूटर लेनदेन के अंत से पहले बंद हो जाता है, तो इन फ़ाइलों को "हॉट जर्नल" या "हॉट वाल फाइल" कहा जाता है और डेटाबेस को एक सुसंगत स्थिति में पुनर्स्थापित करने के लिए आवश्यक जानकारी होती है।

पृष्ठों

मुख्य आधार फ़ाइल में एक या कई पृष्ठ होते हैं। एक डेटाबेस के सभी पेजों का आकार समान होता है, जो 512 से 65536 बाइट्स तक हो सकता है। डेटाबेस फ़ाइल के लिए पृष्ठ का आकार 2-बाइट पूर्णांक द्वारा निर्धारित किया जाता है, जिसमें डेटाबेस फ़ाइल की शुरुआत से 16 बाइट्स का ऑफ़सेट होता है।
सभी पेज 1 से 2147483646 (2 ^ 31 - 2) तक गिने जाते हैं। न्यूनतम आधार आकार: आकार का एक पृष्ठ 512 बाइट्स, डेटाबेस का अधिकतम आकार: २१४७४८३६४६ पृष्ठ ६५५३६ बाइट्स प्रत्येक ( ~ 140 टीबी).

शीर्षक

डेटाबेस फ़ाइल के पहले 100 बाइट्स में डेटाबेस हेडर होता है, तालिका 1 हेडर स्कीमा दिखाती है।

तालिका एक

लॉक-बाइट पेज

ब्लॉकिंग पेज बेस फाइल का एक पेज होता है और ऑफसेट्स 0x1073741824 और 0x1073742335 के बीच स्थित होता है, अगर बेस का साइज छोटा है, तो इसमें ब्लॉकिंग पेज नहीं है। OS इंटरफ़ेस लॉकिंग प्रिमिटिव्स को लागू करने के लिए इस पृष्ठ की आवश्यकता है।

फ्रीलिस्ट

रिक्त पृष्ठों की सूची को एक लिंक्ड सूची के रूप में व्यवस्थित किया जाता है। सूची के प्रत्येक तत्व में दो संख्याएँ होती हैं, प्रत्येक में 4 बाइट्स होती हैं। पहली संख्या अगले फ्रीलिस्ट तत्व (ट्रंक पॉइंटर) की संख्या निर्धारित करती है, या सूची समाप्त होने पर शून्य के बराबर होती है। दूसरा नंबर लीफ पेज नंबर है। नीचे दिया गया आंकड़ा इस संरचना का एक आरेख दिखाता है।

बी - पेड़

SQLite दो प्रकार के पेड़ों का उपयोग करता है: "टेबल बी - ट्री" (स्टोर डेटा छोड़ देता है) और "इंडेक्स बी - ट्री" (स्टोर कीज़ छोड़ देता है)।
तालिका B - ट्री में प्रत्येक प्रविष्टि में 64-बिट पूर्णांक कुंजी और 2147483647 बाइट्स तक यादृच्छिक डेटा होता है। कुंजी "टेबल बी - ट्री" SQL तालिका के ROWID से मेल खाती है।
"इंडेक्स बी-ट्री" में प्रत्येक प्रविष्टि में लंबाई में 2147483647 बाइट्स तक की मनमानी कुंजी होती है।

पेज बी - पेड़

बी-पेड़ पृष्ठ की संरचना है:
  • डेटाबेस फ़ाइल हैडर (100 बाइट्स)
  • बी-ट्री पेज हेडर (8 या 12 बाइट्स)
  • सेल पॉइंटर्स की सरणी
  • खाली जगह
  • सेल सामग्री
  • आरक्षित सीट

डेटाबेस फ़ाइल हैडरकेवल पहले पृष्ठ पर होता है, जो हमेशा पुराना "टेबल बी-ट्री" होता है। डेटाबेस में अन्य सभी बी-ट्री पृष्ठों में यह शीर्षक नहीं है।

बी-पेड़ पृष्ठ शीर्षकलीफ पेज के लिए 8 बाइट्स और के लिए 12 बाइट्स है आंतरिक पृष्ठ... तालिका 2 पृष्ठ शीर्षलेख की संरचना दिखाती है।

तालिका 2

फ्रीब्लॉकएक संरचना है जिसका उपयोग बी-पेड़ पृष्ठ के भीतर आवंटित स्थान को परिभाषित करने के लिए किया जाता है। फ्रीब्लॉक को एक श्रृंखला के रूप में व्यवस्थित किया जाता है। फ्रीब्लॉक (उच्च से निम्न) में पहले 2 बाइट्स अगले फ्रीब्लॉक पर ऑफसेट होते हैं, या शून्य यदि फ्रीब्लॉक श्रृंखला में अंतिम है। तीसरा और चौथा बाइट एक पूर्णांक है, बाइट्स में फ्रीब्लॉक का आकार, जिसमें 4-बाइट हेडर शामिल है। फ्रीब्लॉक हमेशा ऑफसेट के आरोही क्रम में जुड़े होते हैं।

खंडित बाइट्ससेल के सामग्री क्षेत्र में अप्रयुक्त बाइट्स की कुल संख्या है।


सेल पॉइंटर्स की सरणीसेल सामग्री के के 2-बाइट पूर्णांक ऑफ़सेट होते हैं (बी-पेड़ में के कोशिकाओं को मानते हुए)। सरणी को आरोही क्रम में क्रमबद्ध किया जाता है (सबसे छोटी कुंजियों से लेकर सबसे बड़ी तक)।

खाली जगहपॉइंटर्स की सरणी के अंतिम सेल और पहले सेल की शुरुआत के बीच का क्षेत्र है।

आरक्षित सीटप्रत्येक पृष्ठ के अंत में पृष्ठ के बारे में जानकारी संग्रहीत करने के लिए एक्सटेंशन द्वारा उपयोग किया जाता है। आरक्षित क्षेत्र का आकार आधार शीर्षलेख में परिभाषित किया गया है (डिफ़ॉल्ट शून्य है)।

टेबल

प्रत्येक तालिका (ROWID के साथ) को डेटाबेस में इस प्रकार दर्शाया जाता है: टेबल बी - पेड़... ट्री में प्रत्येक प्रविष्टि SQL तालिका में एक पंक्ति से मेल खाती है। SQL तालिका की एक पंक्ति को रिकॉर्ड प्रारूप में तालिका स्तंभों के अनुक्रम (जैसा कि इसे बनाया गया था) के रूप में दर्शाया गया है। यदि तालिका में INTEGER PRIMARY KEY है, जो ROWID का एक उपनाम है, तो इसके मान के बजाय NULL लिखा जाएगा। SQLite हमेशा कुंजी का उपयोग करेगा टेबल बी - पेड़ INTEGER प्राथमिक कुंजी का जिक्र करते समय NULL के बजाय। यदि स्तंभ की आत्मीयता (प्रकार रूपांतरण की सिफारिश, "डेटा प्रकार और मूल्य तुलना" अनुभाग में habrahabr.ru/post/149635 पर अधिक विवरण) वास्तविक है और मान को डेटा हानि के बिना INTEGER में परिवर्तित किया जा सकता है, तो मान होगा पूर्णांक के रूप में संग्रहीत किया जा सकता है। डेटाबेस से डेटा पुनर्प्राप्त करते समय, SQLite एक पूर्णांक को वास्तविक में परिवर्तित करता है।

तालिका के बिना ROWID

प्रत्येक तालिका (ROWID के बिना) को डेटाबेस में इस प्रकार दर्शाया जाता है: सूचकांक बी - पेड़... पंक्ति के साथ तालिकाओं से अंतर यह है कि तालिका के प्रत्येक SQL रिकॉर्ड की कुंजी को रिकॉर्ड प्रारूप के रूप में संग्रहीत किया जाता है, और कुंजी कॉलम को प्राथमिक कुंजी में निर्दिष्ट किया जाता है, और शेष तालिका घोषणा में निर्दिष्ट क्रम में संग्रहीत किया जाता है। .
इस प्रकार, में प्रविष्टियाँ सूचकांक बी - पेड़के रूप में उसी तरह प्रस्तुत किया जाता है टेबल बी - पेड़स्तंभों के क्रम और इस तथ्य के अलावा कि पंक्ति की सामग्री को ट्री की में संग्रहीत किया जाता है, न कि पत्तियों पर डेटा के रूप में टेबल बी - पेड़.

अनुक्रमणिका

प्रत्येक इंडेक्स (क्रिएट इंडेक्स, प्राथमिक कुंजी या अद्वितीय द्वारा घोषित) को फॉर्म में डेटाबेस में दर्शाया जाता है सूचकांक बी - पेड़... ऐसे पेड़ में प्रत्येक प्रविष्टि SQL तालिका में एक पंक्ति से मेल खाती है। इंडेक्स ट्री कुंजी इंडेक्स में निर्दिष्ट कॉलम मानों का एक क्रम है और इसे रिकॉर्ड प्रारूप में एक पंक्ति कुंजी (पंक्तिबद्ध या प्राथमिक कुंजी) द्वारा समाप्त किया जाता है।

यूपीडी 13:44: अनुभाग पुन: डिज़ाइन किया गया प्रतिनिधित्व, आलोचना के लिए धन्यवाद मेयरोवप (बेशक आप स्थानांतरित हो सकते थे, लेकिन ओह ठीक है)।

डेटाबेस बनाने के लिए, उपयोगिता चलाएँ आईबीकंसोलऔर एक सत्र के साथ स्थापित किया गया है स्थानीय सर्वर... फिर उपयोगिता के मुख्य मेनू से आदेश जारी किया जाता है

टूल्स - "इंटरएक्टिव एसक्यूएल

उसी समय, स्क्रीन पर एक डायलॉग बॉक्स प्रदर्शित होता है। इंटरएक्टिव एसक्यूएलडेटाबेस फ़ाइल (चित्र 5.1) की विशेषताओं का वर्णन करने के लिए, जिसके कार्य क्षेत्र में डेटाबेस बनाने का अनुरोध लिखा गया है।

अनुरोध को निष्पादित करने के लिए, आपको कीबोर्ड से कमांड भेजने की आवश्यकता है Ctrl + या मुख्य मेनू से कमांड जारी करें

चावल। ४.१.सर्वर प्रारंभ इंटरबेस

डेटाबेस फ़ाइल बनाना

डेटाबेस फ़ाइल एक कंटेनर है जिसके अंदर अन्य फ़ाइलें संग्रहीत की जाती हैं, जैसे तालिका, अनुक्रमणिका, दृश्य आदि। डेटाबेस फ़ाइल एक बार बनाई जाती है और बाद में इसे बदला नहीं जा सकता है। डेटाबेस फ़ाइल के भीतर एक निश्चित क्षेत्र होता है जिसे मेटाडेटा कहा जाता है। इस क्षेत्र के भीतर प्रोग्राम ब्लॉक संग्रहीत हैं जिनमें ट्रिगर्स, संग्रहीत प्रक्रियाओं और जेनरेटर के संकलित विवरण शामिल हैं।

एक खाली डेटाबेस फ़ाइल बनाने के लिए 501 क्वेरी का उपयोग किया जाता है डेटाबेस बनाएँ।बनाई गई डेटाबेस फ़ाइल में बाद में टेबल, इंडेक्स, व्यू आदि के लिए फाइलें होंगी।

अनुरोध प्रारूप

डेटाबेस स्कीमा बनाएं

[ उपयोगकर्ता [ पासवर्ड ] ]

[ पृष्ठ आकार [ = ] ]

[ लंबाई [ = ] [ पेज [एस]]]

[डिफ़ॉल्ट वर्ण सेट] एफ];

जहां विकल्प की संरचना है

फ़ाइल[संरचना है

लंबाई [=] [ पेज [एस]] शुरू [АТ [पेज))

मापदंडों का उद्देश्य:

डेटाबेस फ़ाइल का पूर्णतः योग्य नाम निर्दिष्ट करता है। नाम इस्तेमाल किए गए प्लेटफॉर्म के नियमों के अनुसार लिखा गया है;

उपयोगकर्ता- डेटाबेस के उपयोगकर्ता (स्वामी) का नाम इंगित किया गया है। हर बार जब डेटाबेस का उपयोग किया जाता है, तो उसे पहचानने के लिए एक उपयोगकर्ता नाम का अनुरोध किया जाता है;

पासवर्ड- पासवर्ड निर्दिष्ट किया जाता है, जिसे हर बार डेटाबेस तक पहुंचने पर अनुरोध किया जाता है। उपयोगकर्ता नाम के साथ पासवर्ड का अनुरोध किया जाता है (USER

पृष्ठ आकार[=] - डेटाबेस पेज का आकार बाइट्स में सेट करता है। निम्नलिखित एकल पृष्ठ आकार मान्य हैं: १०२४ (डिफ़ॉल्ट), २०४८, ४०९६, और ८१९२;

डिफ़ॉल्ट वर्ण सेट- पैरामीटर वर्णों के सेट को परिभाषित करता है जिसका उपयोग डेटाबेस में डेटा संग्रहीत करने के लिए किया जाएगा। यानी राष्ट्रीय अक्षरों के चिन्ह निर्धारित होते हैं। डिफ़ॉल्ट सेट है कोई नहीं, यानी केवल अंग्रेजी वर्णमाला के वर्णों की अनुमति है। वर्ण डेटा संग्रहीत करते समय रूसी और अंग्रेजी वर्णमाला के अक्षरों का उपयोग करने के लिए, सेट सेट करें जीत 1251. डेटाबेस बनाते समय वर्ण सेट एक बार निर्दिष्ट किया जाता है।विशिष्ट डोमेन या कॉलम को परिभाषित करते समय आप डिफ़ॉल्ट एन्कोडिंग या इस विकल्प को बदल सकते हैं;

फ़ाइल- एकल डेटाबेस बनाने वाली एक या अधिक फ़ाइलों के नाम को इंगित करता है। प्रत्येक फ़ाइल का नाम एक अलग विकल्प द्वारा निर्दिष्ट किया गया है। फ़ाइल ;

प्रारंभ [पर [पेज]]- संबंधित डेटाबेस फ़ाइल (बहु-फ़ाइल डेटाबेस के लिए) के प्रारंभ पृष्ठ को परिभाषित करता है;

लंबाई [=] [ पेज [एस]] -वर्तमान फ़ाइल का आकार पृष्ठों में सेट करता है। डिफ़ॉल्ट 75 पृष्ठ है। प्रति फ़ाइल पृष्ठों की न्यूनतम संख्या 50 है।

यदि एक एकल डेटाबेस फ़ाइल परिभाषित (डिफ़ॉल्ट) है, तो यह माना जाता है कि यह सभी डिस्क स्थान ले लेगा क्योंकि नई प्रविष्टियाँ जोड़ी जाती हैं। एकाधिक डेटाबेस के साथ सर्वर डिस्क स्थान का उपयोग करते समय यह दृष्टिकोण तर्कसंगत नहीं है। इसलिए, फ़ाइल (या फ़ाइलों) के आकार पर प्रतिबंध लगाए गए हैं। साथ ही, एकल डेटाबेस बनाने वाली अलग-अलग फ़ाइलों को भौतिक रूप से भिन्न मीडिया पर संग्रहीत किया जा सकता है। एकल डेटाबेस बनाने वाली पहली फाइल कहलाती है मुख्य,और बाकी फाइलें हैं माध्यमिक।द्वितीयक फ़ाइलों के अलग-अलग नाम, एक्सटेंशन और संग्रहण स्थान हो सकते हैं। द्वितीयक फ़ाइलों के लिए पैरामीटर निर्दिष्ट करते समय, कुछ तत्व वैकल्पिक होते हैं और इन्हें छोड़ा जा सकता है, जैसे कि एक समान चिह्न। नीचे दिया गया आदेश (उदाहरण 5.1) वर्तमान कार्यशील निर्देशिका (फ़ोल्डर) के अंदर एक डेटाबेस फ़ाइल बनाता है।

इस कथन में निर्दिष्ट पासवर्ड और उपयोगकर्ता नाम सर्वर द्वारा हर बार उपयोगकर्ता की पहचान करने के लिए डेटाबेस तक पहुँचने पर जाँच की जाती है। डेटाबेस तक पहुंच के अधिकार और विशेषाधिकार ऑपरेटर द्वारा निर्धारित किए जाते हैं अनुदान,जिसकी चर्चा नीचे की जाएगी।

संपूर्ण डेटाबेस के लिए पृष्ठ का आकार निश्चित है और मानों में से एक हो सकता है: 1024, 2048, 4096, या 8192 बाइट्स। डिफ़ॉल्ट 1024 बाइट्स है। क्लाइंट एप्लिकेशन और डेटाबेस के बीच डेटा का आदान-प्रदान पृष्ठ आकार में किया जाता है। पृष्ठ का आकार बढ़ाने से पठन संचालन की संख्या को कम करके प्रसंस्करण समय (क्वेरी निष्पादन) कम हो जाता है, लेकिन पृष्ठ का आकार बढ़ाना तभी उचित है जब डेटा नमूने (सूचना के टुकड़े) बड़े हों। यदि नमूना आकार छोटा है बड़ा आकारपृष्ठ, तो पृष्ठ मात्रा का प्रभावी ढंग से उपयोग नहीं किया जाता है।

उदाहरण 5.1.एक बहु-फ़ाइल (वितरित) डेटाबेस का निर्माण।

DATABASE D बनाएँ: SKAZKABOOK.GDB उपयोगकर्ता "SYSDBA" पासवर्ड "मास्टरकी"

फ़ाइल डी: स्काज़काबुक.जीडीएल पृष्ठ १५०१ लंबाई १०० से शुरू

फ़ाइल डी: स्काज़काबुक.जीडी२

डिस्क पर डीनिर्देशिका के अंदर "स्काज़्का"एक डेटाबेस बनाया जाता है, जिसमें तीन फाइलें होती हैं:

  • नाम की पहली फ़ाइल बुक.जीडीबीपृष्ठ का आकार १०२४ बाइट्स (डिफ़ॉल्ट रूप से) है, पृष्ठों की संख्या १५०० है (दूसरी फ़ाइल के बाद से १ से १५०० तक) किताब.जीडी१ पृष्ठ १५०१ पर शुरू होता है);
  • नाम की दूसरी फ़ाइल किताब। जीडीआईपृष्ठ का आकार १०२४ बाइट्स है, पृष्ठों की संख्या १०० है;
  • तीसरी फ़ाइल किताब.GD2पृष्ठ का आकार 1024 बाइट्स है, पृष्ठों की संख्या अपरिभाषित है (जब तक कि डिस्क भर न जाए)।

उपयोगकर्ता नाम (डेटाबेस स्वामी) निर्दिष्ट - SYSDBAऔर पासवर्ड है - मास्टर चाबी।

या तो डेटाबेस का उपयोगकर्ता (स्वामी) डेटाबेस को हटा सकता है, या कार्यकारी प्रबंधककमांड का उपयोग करना

इसके अलावा, इसे हटा दिया जाता है द करेंटडेटाबेस, यानी वह डेटाबेस जिससे कनेक्शन स्थापित किया गया है।

इस कमांड का उपयोग करने के बाद, बाद में डेटाबेस रिकवरी संभव नहीं है।

जैसा कि निम्न तालिका में दिखाया गया है, SQL सर्वर डेटाबेस में तीन फ़ाइल प्रकार होते हैं।

विवरण

मुख्य

प्राथमिक डेटा फ़ाइल में डेटाबेस प्रारंभ करने के लिए आवश्यक जानकारी होती है और डेटाबेस में अन्य फ़ाइलों से लिंक होती है। उपयोगकर्ता डेटा और वस्तुओं को संग्रहीत किया जा सकता है यह फ़ाइलया द्वितीयक डेटा फ़ाइल में। प्रत्येक डेटाबेस में एक प्राथमिक डेटा फ़ाइल होती है। प्राथमिक डेटा फ़ाइल नाम के लिए अनुशंसित एक्सटेंशन MDF है।

माध्यमिक

माध्यमिक डेटा फ़ाइलें वैकल्पिक हैं; ये उपयोगकर्ता फ़ाइलें हैं जो उपयोगकर्ता डेटा संग्रहीत करती हैं। सेकेंडरी फाइलों का उपयोग कई डिस्क में डेटा फैलाने के लिए किया जा सकता है, इस स्थिति में प्रत्येक फाइल एक अलग डिस्क पर लिखी जाती है। इसके अलावा, यदि डेटाबेस का आकार एकल विंडोज फ़ाइल के लिए अधिकतम आकार से अधिक है, तो द्वितीयक डेटा फ़ाइलों का उपयोग किया जा सकता है ताकि डेटाबेस आगे बढ़ सके।

हस्तांतरण लॉग

लेन-देन लॉग फ़ाइलों में डेटाबेस को पुनर्प्राप्त करने के लिए उपयोग की जाने वाली जानकारी होती है। प्रत्येक डेटाबेस के लिए कम से कम एक लॉग फ़ाइल होनी चाहिए। लेन-देन लॉग फ़ाइलों के लिए LDF एक्सटेंशन की अनुशंसा की जाती है।

उदाहरण के लिए, नाम का एक साधारण डेटाबेस बिक्रीसभी डेटा और ऑब्जेक्ट वाली एक प्राथमिक फ़ाइल और लेन-देन लॉग जानकारी वाली एक लॉग फ़ाइल हो सकती है। नाम का एक अधिक जटिल डेटाबेस आदेशएक प्राथमिक फ़ाइल और पाँच द्वितीयक फ़ाइलें हो सकती हैं। डेटाबेस के भीतर डेटा और ऑब्जेक्ट सभी छह फाइलों में फैले हुए हैं, और चार लॉग फाइलों में लेनदेन लॉग जानकारी होती है।

डिफ़ॉल्ट रूप से, डेटा और लेन-देन लॉग दोनों एक ही डिस्क पर रखे जाते हैं और उनका पथ समान होता है। यह सिंगल डिस्क सिस्टम को सपोर्ट करने के लिए है। हालांकि, उत्पादन वातावरण के लिए, यह इष्टतम नहीं हो सकता है। डेटा रखने और फ़ाइलों को अलग-अलग ड्राइव पर लॉग करने की अनुशंसा की जाती है।

तार्किक और भौतिक फ़ाइल नाम

SQL सर्वर फ़ाइलों के दो नाम हैं।

तार्किक_फ़ाइल_नाम

तार्किक_फ़ाइल_नामसभी Transact-SQL कथनों में भौतिक फ़ाइल को संदर्भित करने के लिए उपयोग किया जाने वाला नाम है। तार्किक फ़ाइल नाम को SQL सर्वर पहचानकर्ताओं के नियमों का पालन करना चाहिए और संबंधित डेटाबेस में तार्किक फ़ाइल नामों के बीच अद्वितीय होना चाहिए।

os_file_name

नाम os_file_nameनिर्देशिका पथ सहित भौतिक फ़ाइल का नाम है। इसे ऑपरेटिंग सिस्टम फ़ाइल नामकरण परंपराओं का पालन करना चाहिए।

फ़ाइल समूह

प्रत्येक डेटाबेस में एक प्राथमिक फ़ाइल समूह होता है। इस फ़ाइल समूह में प्राथमिक डेटा फ़ाइल और सभी द्वितीयक फ़ाइलें शामिल हैं जो अन्य में शामिल नहीं हैं। फ़ाइल समूह... आसान प्रशासन, वितरण और डेटा प्लेसमेंट के लिए कस्टम फ़ाइल समूह बनाए जा सकते हैं।

उदाहरण के लिए, तीन फ़ाइलें, Data1.ndf, Data2.ndf और Data3.ndf, क्रमशः तीन डिस्क पर बनाई जा सकती हैं और एक फ़ाइल समूह को असाइन की जा सकती हैं fgroup1... इस मामले में, आप फ़ाइल समूह के आधार पर एक तालिका बना सकते हैं fgroup1... तालिका से डेटा प्रश्न तीन डिस्क में फैले होंगे और इससे प्रदर्शन में सुधार होगा। डिस्क के धारीदार सेट पर बनाई गई एकल फ़ाइल के साथ एक समान प्रदर्शन सुधार प्राप्त किया जा सकता है RAID सरणी... हालाँकि, फ़ाइलें और फ़ाइल समूह नई फ़ाइलों को नई ड्राइव में जोड़ना आसान बनाते हैं।

सभी डेटा फ़ाइलें निम्न तालिका में सूचीबद्ध फ़ाइल समूह में संग्रहीत हैं।

लॉग फ़ाइलें फ़ाइल समूह का हिस्सा नहीं हो सकतीं। लॉग स्पेस प्रबंधन डेटा स्थान प्रबंधन से अलग है।

फ़ाइल एकाधिक फ़ाइल समूहों का हिस्सा नहीं हो सकती है। टेबल्स, इंडेक्स और बड़े ऑब्जेक्ट डेटा को एक निर्दिष्ट फाइलग्रुप के साथ जोड़ा जा सकता है।

प्रारंभ करें, रोकें और बंद करें एसक्यूएल सर्वर .

    डिस्पैचर का उपयोग करना एसक्यूएल विन्याससर्वर

    SQL सर्वर प्रबंधन स्टूडियो से

    कमांड लाइन से।

डेटाबेस जटिल सिस्टम हैं जिनमें संबंधित तालिकाओं में जानकारी होती है। SQL फ़ाइल - डेटाबेस में डेटा प्रस्तुत करने के लिए SQL प्रारूप। दूसरे शब्दों में, यह सामान्य है पाठ फ़ाइलतालिकाओं में जानकारी के साथ काम करने के लिए निर्देशों के एक सेट के साथ।

विवरण

* .sql फ़ाइल प्रारूप का अर्थ है "संरचित फ़ाइलें क्वेरी भाषा। यह स्पष्ट रूप से डेटाबेस फ़ाइलों को संदर्भित करता है। इसमें पाठ जानकारी, साथ ही निर्देशों का एक सेट होता है जो आपको इसे संसाधित करने की अनुमति देता है - डेटाबेस से पंक्तियों को खोजें, वर्गीकृत करें, हटाएं (डेटाबेस) ), नए जोड़ें, के आधार पर चयन बनाएं दिए गए पैरामीटर... निर्देशों का एक सेट क्वेरी भाषा ऑपरेटरों के रूप में प्रस्तुत किया जाता है।

SQL फ़ाइल कैसे खोलें?

SQl प्रारूप डेटाबेस के साथ काम करने वाले सभी कार्यक्रमों द्वारा खोला जाता है। इस सूची में शामिल हैं:

  • MySQL सबसे व्यापक में से एक है। सभी ज्ञात ऑपरेटिंग सिस्टम के साथ संगत।
  • माइक्रोसॉफ्ट ऑफिस एक्सेस कार्यालय के विस्तारित सेट से एक कार्यक्रम है सॉफ्टवेयरविंडोज के लिए।
  • PostgreSQL एक आधुनिक और सुविधाजनक DBMS है जो MySQL के साथ प्रतिस्पर्धा करता है।

सभी सूचीबद्ध प्रोग्राम (शायद एक्सेस को छोड़कर) न केवल सिस्टम में स्थापित हैं, बल्कि इंस्टॉलेशन के दौरान सिस्टम फाइलों में समायोजन भी करते हैं - मल्टीफंक्शनल डीबीएमएस को स्थापित करना मुश्किल है और यह तभी सलाह दी जाती है जब आगे काम करना आवश्यक हो। यदि नहीं, तो अन्य विकल्पों पर विचार करें।

पाठ संपादक

यह देखने के लिए कि SQL फ़ाइल में क्या है, * .sql को किसी भी साधारण टेक्स्ट एडिटर जैसे नोटपैड, वर्डपैड, विम या नोटपैड के साथ खोला जा सकता है। इसके अलावा, विशेषण "कोई भी" का अर्थ है कि पाठ संपादक Linux डेटाबेस फ़ाइलों को खोलने और संपादित करने में भी सक्षम है।

जरूरी!फ़ाइल को संपादित करने के बाद, उसे उसके मूल स्वरूप में सहेजना न भूलें।

इस पद्धति का नुकसान: DBMS कार्यक्षमता की कमी। आपको लिखित अनुरोध में त्रुटि के बारे में सिस्टम को सूचित करने की संभावना के बिना, या डेटा परिवर्तन होने पर टाइपो को रेखांकित करने की संभावना के बिना, केवल पाठ सामग्री के साथ काम करना होगा। इस कारण से, SQL फ़ाइल को संपादित करने के लिए, SQL DBMS बेहतर अनुकूल हैं।



संबंधित आलेख: