جدول 1C SQL. ساختار ذخیره سازی پایگاه داده (فرم های مدیریت شده). تفاوت از پیاده سازی های موجود
پلت فرم 1C یک ابزار سطح بالا برای کار با پایگاه های داده است. به طور کلی، توسعه دهنده نیازی به فکر کردن در مورد آنچه و نحوه وقوع آن در کنار DBMS نیست، زیرا پلت فرم خود تصمیم می گیرد که چه مقدار برای ایجاد جداول و چه زمینه ای در داخل آنها باشد.
با این حال، در پروژه های بزرگ نیاز به کار با داده ها به طور مستقیم، به عنوان مثال، برای تجزیه و تحلیل اطلاعات توسط ابزار شخص ثالث و یا، به عنوان در مورد من، ادغام پایگاه داده با برنامه های خارجی وجود دارد. در چنین شرایطی، لازم است که ایده هایی از جداول فیزیکی را به دنبال اطلاعاتی که ما نیاز داریم، داشته باشیم.
فقط برای چنین موردی ساخته شده در نظر گرفته شده است استرالیا گودال بر اساس ساختاری ()بازگشت تمام اطلاعات لازم را در قالب یک جدول از مقادیر. علاوه بر این، برخی از جزئیات (زمینه ها و شاخص ها) این جدول خود جداول ارزش هستند.
از یک طرف، تمام داده ها در یک ساختار راحت است، اما، از سوی دیگر، مشکلات اضافی با انتقال این جدول به مشتری وجود دارد (روش دانلود ()، متاسفانه، جداول توت فرنگی را بارگیری نمی کند). با توجه به این، شما باید از طریق تمام طرح بندی جدول در چرخه اجرا کنید، که در حجم های بزرگ منجر به کاهش سرعت کار می شود.
در ارتباط با این، بهترین گزینه به نام تابع اشیاء متادیتا منتقل می شود تا میزان داده های بازگشتی را کاهش دهد. با این حال، تمام جداول DBMS با متادیتا پیکربندی همراه نیستند، بنابراین من توانایی مشاهده لیست کامل را ترک کردم.
پردازش عملکرد
هنگامی که عنصر درخت متادیتا را فعال می کنید، لیست جداول، زمینه ها و شاخص ها را پر کنید. با دوبار کلیک بر روی ریشه درخت، تمام جداول نمایش داده می شود، از جمله سرویس (توصیه نمی شود، زیرا حجم داده ها جستجو را افزایش می دهد).
در بخش های جدولی، دستورات استاندارد جستجو و خروجی استاندارد عمل می کنند.
تفاوت از پیاده سازی های موجود
برای مثال، چندین نشریه مشابه وجود دارد و. با این حال، ناراحتی آنها فقدان یک درخت فراداده است، که باعث می شود حرکت آن دشوار باشد. جستجو نیز توسط نام جداول و زمینه های پایگاه داده انجام می شود و نه برعکس.
نزدیک ترین عملکرد به انتشار نویسنده (). در مقابل، این پردازش شامل کامل ترین درخت است ابرداده (برنامه های مبادله، ثابت، اسناد سیاهههای مربوط، و غیره). علاوه بر اینساختار داده ها به وضوح ارائه شده است: لیست جداول شیء متادیتا، لیست زمینه ها و فهرست شاخص ها در بخش های جداگانه جداگانه نمایش داده می شود.
Upd-2018-01-06 (v1.3). یک خطا ناشی از حالت سازگاری 8.3.7 و بالاتر (رفتار پلت فرم) ثابت شده است.
upd-2012-08-17 (v1.2). این پچ برای پردازش صحیح وظایف نظارتی ساخته شده است، آیتم های ساخت گونه های محاسبه شده اصلاح شده است، رفتار هنگامی که تغییر نوع ساختار در پیکربندی ریشه اصلاح شده است.
P.S. برخی از کارفرمایان هنگام دریافت کار، یک سوال در مورد تعداد جداول فیزیکی و مجازی برای ثبت نام ها سوال می کنند. خوب است که پاسخ به این سوالات را بدانیم، به خصوص از آنجایی که این سطح 1C است: حرفه ای. اگر می خواهید نه تنها برای یادگیری این پاسخ، بلکه همچنین این جداول را لمس کنید، پس این پردازش برای شما مناسب است!
ساختار در زبان برنامه نویسی 1C 8.3 و 8.2 - مجموعه ای از جفت های "کلید" و "ارزش". فیلد "کلید" دارای نوع رشته ای است، "مقدار" می تواند هر نوع داده را بگیرد. معمولا برای ذخیره سازی و انتقال بین روش ها برای مجموعه ای از پارامترها استفاده می شود.
ساختار در زبان برنامه نویسی 1C می تواند به دو روش با استفاده از طراحی جدید ایجاد شود.
اولین راه:
ساختار \u003d ساختار جدید؛
ساختار. نگه داشتن ("keyaparameter1"، "مقادیر پارامتر شماره 1")؛
ساختار. نگه داشتن ("keyaparameter2"، "مقادیر پارامتر شماره 2")؛
راه دوم:
ساختار \u003d ساختار جدید ("keyaparameter1، keyparameter2"، "مقادیر پارامتر شماره 1"، "مقادیر پارامتر شماره 2")؛
هر دو روش یک ساختار را ایجاد می کنند که می تواند در تصویر از اشکال زدایی دیده شود:
دریافت 267 آموزش ویدئویی برای 1C به صورت رایگان:
تغییر
شما می توانید ساختار را با استفاده از روش "Paste ()" تغییر دهید یا تغییر دهید.
ساختار. نگه داشتن ("نام wniscu"، بی معنی)؛
اگر می خواهید مقدار کلید قدیمی را تغییر دهید، نام آن را وارد کنید. اگر یک کلید جدید اضافه کنید، یک نام منحصر به فرد نسبت به تمام کلیدهای ساختمانی اضافه کنید.
برای حذف عنصر جمع آوری، شما باید از روش حذف که در آن برای انتقال نام کلیدی استفاده کنید:
ساختار انتشار ("نام wniscu")؛
همچنین امکان تمیز کردن تمام اشیاء مجموعه وجود دارد:
ساختار. لطفا ()؛
دور زدن ساختار
برای رفتن به مجموعه ای از ساختار، شما باید از طراحی "برای هر کلید از ساختار چرخه" استفاده کنید.
مثلا:
برای هر کلید از ساختار چرخه
...... // فرآیند، به عنوان مثال، مقادیر را تغییر دهید
Endcycle؛
هر چرخه دیده می شود که زمینه های زیر در دسترس خواهند بود:
داده هایی که منطق عملکرد سیستم را بر اساس 1C تعریف می کنند: شرکت ها متعلق به پایگاه اطلاعاتی هستند. ذخیره سازی پایگاه اطلاعاتی در یک پایگاه داده با مجموعه ای از جداول انجام می شود که برای آن 1C: Enterprise 8.1 می تواند از یکی از چهار سیستم مدیریت پایگاه داده (DBMS) استفاده کند:
* ساخته شده استدر 1C: Enterprise 8.1 (گزینه فایل پایگاه اطلاعاتی). در این مورد، تمام اطلاعات پایگاه داده اطلاعات در فایل با نام 1cv8.1cd ذخیره می شود. این فایل دارای فرمت دودویی است و اساسا یک پایگاه داده برای ساخته شده در 1C: Enterprise 8.1 DBMS است.
* مایکروسافت SQL Server (نسخه مشتری سرور پایگاه اطلاعاتی). تمام اطلاعات پایگاه داده اطلاعات در پایگاه داده Microsoft SQL Server ذخیره می شود.
* postgresql (نسخه مشتری سرور پایگاه اطلاعاتی). تمام اطلاعات پایگاه داده اطلاعات در پایگاه داده PostgreSQL ذخیره می شود.
* IBM DB2. (نسخه مشتری سرور پایگاه اطلاعاتی). تمام اطلاعات پایگاه داده اطلاعات در پایگاه داده IBM DB2 ذخیره می شود.
در سطح اشیاء پایگاه داده (جداول، زمینه ها، شاخص ها، و غیره) به عنوان یک فایل به طوری و نسخه سرویس گیرنده سرور پایگاه اطلاعات دارای فرمت مشابهی (مشخص شده توسط قطعات ناچیز) است. برخی از اطلاعات مربوط به این فرمت در زیر آمده است.
کل پایگاه اطلاعاتی در پایگاه داده به صورت مجموعه ای از جداول ارائه شده است. در میان آنها جداول متعددی وجود دارد که لزوما در نمایندگی از هر پایگاه اطلاعاتی وجود دارد:
* پیکربندی - پیکربندی اصلی پایگاه اطلاعاتی. این پیکربندی مربوط به ساختار داده واقعی است و از 1C: Enterprise 8.0 در حالت سازمانی استفاده می شود.
* پیکربندی - پیکربندی ویرایش شده توسط configurator. پیکربندی از Configsave در هنگام اجرای "به روز رسانی پیکربندی پایگاه داده" در پیکربندی بازنویسی می شود و بالعکس - هنگام اجرای پیکربندی عملیات، "پیکربندی - پیکربندی پایگاه داده - بازگشت به پیکربندی پایگاه داده".
* فایل ها. شامل اطلاعات خدمات، مانند کار با ذخیره سازی پیکربندی.
* پارامس شامل پارامترهای پایگاه اطلاعاتی است. در میان آنها:
=>
فهرست کاربران پایگاه داده اطلاعات.
=>
تنظیمات پایه اطلاعات ملی.
=>
جدول انطباق اشیاء فراداده و اشیاء پایگاه داده (جداول، زمینه ها، شاخص ها).
=>
برخی از اطلاعات دیگر.
* _yearoffset - جابجایی تاریخ در پایگاه داده. این جدول تنها هنگام استفاده از مایکروسافت SQL Server ایجاد شده است.
* dbschema شامل اطلاعات مربوط به ساختار ساختار پایگاه داده 1C: شرکت ها و تعیین سایر اشیاء پایگاه داده استفاده شده توسط این پایگاه اطلاعاتی است.
در آغاز 1C: شرکت حضور جداول ذکر شده در پایگاه اطلاعات را بررسی می کند و در غیاب هر یک از آنها پیام "پایگاه اطلاعات تخریب شده" صادر می شود. فقدان تمام جداول ذکر شده به این معنی است که پایگاه اطلاعات خالی است. در مورد دوم، این جداول ایجاد خواهد شد.
لیست و ساختار دیگر جداول پایگاه داده توسط یک پیکربندی خاص تعیین می شود، یعنی در اشیاء فراداده آن تعریف شده است. نام هر جدول شامل یک پیشوند الفبایی و شماره بعدی پشت آن است. پیشوند هدف از جدول را تعیین می کند، و تعداد به شما اجازه می دهد تا جداول جداول مقصد مربوط به اشیاء مختلف متادیتا را تشخیص دهید. اگر IBM DB2 به عنوان یک DBM استفاده شود، ساختار توصیف شده هیچ نام جدول ندارد، اما نام مستعار آنها.
اگر پیکربندی حداقل یک طرح مبادله را با پرچم اطلاعات توزیع شده تعریف کند، جداول زیر ایجاد می شود:
* _Configchangerec. - جدول ثبت تغییرات در اشیاء پیکربندی.
* _Configchangerec_extProps. - جدول نام فایل از خواص خارجی اصلاح شده از اشیاء پیکربندی.
اشیاء متادیتای زیر در زیر فهرست شده اند که ممکن است به جداول خاصی متصل شوند.
* ثابت
=>
_Conss حاوی مقادیر فعلی تمام ثابت های تعریف شده در پیکربندی است.
=>
_ConsTSchangerec - تغییر تغییر جدول ثابت. این ایجاد شده است اگر حداقل یک ثابت در حداقل یک برنامه مبادله شرکت کند.
* برنامه های تبادل
=>
_NODE.
=>
_NODE.
* کتاب های مرجع
=>
_ارجاع
=>
_ارجاع
=>
_ReferEnchechangerec
* مستندات
=>
_document
=>
_document
=>
_documentchangerec
* توالی اسناد
=>
_توالی
=>
_ همجنسگرا
=>
_ همجنسگرایان
* سیاهههای مربوط به سند
=>
_DocumentJournal
* شمارش
=>
_
* ویژگی های ویژگی ها
=>
_chrc
=>
_chrc
=>
_chrcchangerec
* برنامه های حساب
=>
_ حساب
=>
_ حساب
=>
_ حساب
=>
_accchangerec.
* برنامه های محاسبه
=>
_calckind
=>
_calckind
=>
_calckind
=>
_calckind
=>
_calckinddn
=>
_calckind
=>
_calckindchangerec
* ثبت اطلاعات
=>
_inforeg
=>
_inforegchangerec
* انباشت ثبت
=>
_accumreg
=>
_accumregtotals.
=>
_accumregturnovers
=>
_accumregchangerec
=>
_accumregptions - جدول تنظیمات ذخیره سازی برای ذخیره سازی ثبت نام یکی به تمام ثبت انباشت.
* ثبت نام حسابداری
=>
_ACCNTREG
=>
_ حسابداری
=>
_ACCTTL0
=>
_ACCTTL
=>
_ACCTTLC
=>
_accntregchangerec
=>
_ACCNTREGOPTIONS - جدول تنظیمات ذخیره سازی جدول یکی برای تمام ثبت های حسابداری.
* حسابداری حسابداری
=>
_calcreg
=>
_ calcregactper
=>
_calcregchangerec
=>
_calcregrecalcalc
=>
_calcregregrecalcalchangerec.
* فرآیندهای کسب و کار
=>
_BPROUTEPOINT
=>
_فرآیند کاری
=>
_فرآیند کاری
=>
_businessprocesschangerec.
* وظایف
=>
_وظیفه.
=>
_وظیفه.
=>
_taskchangerec
هنگام استفاده از IBM DB2، پیشوند های نام مستعار جدول از نماد زیر خطی شروع نمی شوند، بلکه بلافاصله از موضوع.
تعداد این جداول بستگی به عملکرد پیکربندی دارد و می تواند بسیار بزرگ باشد. در حالت عادی 1C: این شرکت حضور خود را بررسی نمی کند، و همچنین یکپارچگی و سازگاری داده های موجود در آنها. بنابراین، مهم است که پایگاه داده ای که در آن پایگاه اطلاعاتی 1C است: شرکت ها 8.1، از دسترسی غیر مجاز محافظت شده و اصلاح آن تنها با استفاده از 1C انجام شد: شرکت ها. برای بررسی، شما باید از ویژگی "مدیریت - تست و رفع" ساخته شده در پیکربندی استفاده کنید.
همچنین مهم است که پشتیبان گیری و بازگرداندن پایگاه داده ذخیره سازی پایگاه اطلاعاتی تنها انجام شود. برای این منظور، توصیه می شود از ابزار پشتیبان گیری پایگاه داده ساخته شده در DBMS استفاده شود. پشتیبان گیری از نسخه فایل پایگاه داده اطلاعات را می توان با کپی کردن فایل 1cv8.1cd انجام داد.
پیکربندی دارای ویژگی خاصی است: مدیریت - پایگاه اطلاعات را تخلیه کنید. با استفاده از آن، شما می توانید به فایل مشخص شده (فایل تخلیه) تمام داده های مربوط به پایگاه اطلاعات را بارگیری کنید و دیگر دیگر. تابع "دانلود پایگاه داده اطلاعات" اجازه می دهد تا آن را به دانلود پایگاه اطلاعات فعلی به جای دانلود موجود تمام داده ها از فایل تخلیه. این توابع همچنین می تواند برای پشتیبان گیری از داده های پایگاه اطلاعات در هر دو فایل و در نسخه سرویس گیرنده سرور استفاده شود.