مفهوم داده: تعریف، مثال

فهرست مطالب:

مفهوم داده: تعریف، مثال
مفهوم داده: تعریف، مثال
Anonim

داده ها معمولاً با برنامه نویسی مرتبط هستند و در دنیای اطلاعات مدرن در سه نسخه منطقی معادل ارائه می شوند: داده هایی که در یک برنامه به زبان برنامه نویسی توصیف شده و استفاده می شود. داده ها در سیستم های پایگاه داده؛ داده ها در سیستم های اطلاعاتی توزیع شده برنامه نویسی مدرن تنها به اولین نوع رسمی سازی اطلاعات آزادی نسبی داده است. دو گزینه دوم اشکال کم و بیش قابل اعتمادی برای ارائه اطلاعات و روابط بین اجزای آن هستند.

داده های گذشته و حال

موقعیت اساسی زبان های برنامه نویسی توصیف دقیق داده ها و الگوریتم ها است. رایانه‌ها هیچ شانسی برای عدم قطعیت ارائه نمی‌کنند: چیزی وجود دارد که باید بر اساس آن عمل کرد، و دستوری وجود دارد که آن عمل را انجام می‌دهد.

مفهوم مدرن بر پایه بسیار بالاتری استوار است: یک چیز داده شده وجود دارد، و اینکه دقیقاً چه خواهد بود، در محل استفاده از آن مشخص می شود. در هر صورت در زمان استفاده، داده ها به صورت خودکار بررسی و به نوع صحیح تبدیل می شوند.یک برنامه نویس مدرن موظف به مراقبت از توضیحات اولیه و رعایت سازگاری نوع آنها در الگوریتم نیست.

داده های گذشته و حال
داده های گذشته و حال

فرایند انتقال:

  • از داده های تایپ شده و توضیحات اجباری آن قبل از استفاده؛
  • به داده های تایپ نشده و آزادی از هرگونه تعهد برای توصیف و استفاده از آن.

در واقع، ما می توانیم آرامش نسبی الزامات رسمی سازی را تشخیص دهیم - این فقط در محیط ابزارهای برنامه نویسی مدرن موجود است. در زمان اجرا، نوع هر داده ثابت است و ترتیب دستورات به خوبی تعریف شده است.

انواع و مدلسازی

ریاضیات و فیزیک، تجارت و تولید، اقتصاد و سایر زمینه هایی که اعداد در آنها استفاده می شود، همیشه با داده ها کار می کردند و برای مفهوم نوع اهمیتی قائل نبودند. این واقعیت که اعداد می توانند کامل یا کسری باشند واقعاً مهم نبود.

هر فرمول خاص یا عمل خاص می تواند یک عدد صحیح، کسری نامتناهی، یک عدد واقعی یا مختلط بدهد. تا به حال، چنین شگفتی های ذهن به عنوان بی نهایت کوچک و بی نهایت بزرگ وجود دارد. علاوه بر این، این معجزات حتی دارای خواص هستند.

هنوز آزادی در برنامه نویسی وجود ندارد. همه چیز باید کاملاً رسمی باشد. مفهوم داده، اول از همه، یک نوع است:

  • عدد صحیح;
  • Boolean;
  • char;
  • رشته و غیره.

ممکن است نام انواع در زبان های برنامه نویسی مختلف متفاوت باشد، اما همیشه یک عدد صحیح یا واقعی، مقدار بولی، نماد،خط هنوز آثار و ایده های خاصی باقی مانده است: عدد صحیح بدون علامت، کد، بایت، کلمه، دو کلمه، رشته طول ثابت.

آثار و ایده ها
آثار و ایده ها

مفهوم داده در یک سیستم داده آزادی ندارد. زبان SQL - "بین المللی" (برای هر پایگاه داده مدرن یک گویش وجود دارد) - هیچ گونه نادرستی را نه تنها در داده ها، بلکه در پرس و جوهای sql نیز تحمل نمی کند. خطا در درخواست تضمین عدم نتیجه است. اصلاً نیازی به صحبت در مورد نقض توضیحات نیست.

مدل‌سازی فرآیندهای اطلاعاتی و نمایش داده‌ها تنها راه مطمئن برای ساختن ساختاری است که می‌تواند تکامل یابد و با شرایط متغیر سازگار شود.

Dynamics نسخه اصلی

اطلاعات طبیعی تغییر مداوم است. ارائه یک توصیف و مفهوم رسمی از یک مدل داده در یک حوزه موضوعی خاص به معنای حل سه مشکل است:

  • تعریف داده‌هایی در اینجا؛
  • رابطه بین آنها را رسمی کنید؛
  • فرایندهای تغییر داده ها و روابط را شرح می دهد.

نمونه ای از مجموعه داده های یک الگوریتم ساده در جاوا اسکریپت - یک کپی کاهش یافته از مدل حتی قوی ترین سیستم مدیریت پایگاه داده.

فقط در مورد دوم، متخصصان و متخصصان، هنگام طراحی ساختارهای داده، جداول و روابط، معمولاً اصل چیزها را نمی بینند (پوشاندن حجم زیادی از اطلاعات طبیعی واقعاً دشوار است) و مجموعه ای دست و پا گیر و توسعه نیافته از انبوهی از داده ها به دست می آید، در حالی که اطلاعات منبع در حوزه موضوعی آزادانه و به راحتی در گردش است.

ایستاممکن است

شامل کدهای پیوست شده به صفحه و توابع اختصاص داده شده به رویدادها در برچسب های صفحه، تمرین رایج جاوا اسکریپت است. در هر صورت، تگ‌های صفحه، داده‌هایی را که یک منبع وب می‌پذیرد، تغییر می‌دهد یا ایجاد می‌کند، تعریف می‌کنند.

اگر کد کنترل کننده خود را با دقت روی رویدادهای عنصر متمرکز کنید، نه روی کد صفحه به طور کلی، این بهترین راه حل است. در حالت ایده‌آل، زمانی که کد داده‌های جدیدی را معرفی نمی‌کند یا داده‌های موجود را اصلاح نمی‌کند، اما بر روی آنچه دقیقاً در یک لحظه خاص از زمان دارد تمرکز می‌کند.

در واقع، اگر مفهوم "داده" را به عنوان یک توصیف حداقل ایستا از اطلاعات منبع تعریف کنید و آن را دنبال کنید، به این معنی است که شانس موفقیت دارید.

در مورد پایگاه های داده، همه چیز بسیار پیچیده تر است. هر کد جاوا اسکریپت کارایی صفحه را "ارائه" می کند. هر پایگاه داده مجموعه ای از جداول، روابط بین آنها، رویه های ذخیره شده، پرس و جوها و عملکردهای موجود از خارج است.

ایستا مشکل هر الگوریتمی است. مفهوم مدرن داده ایستا است: یک عدد، یک رشته، یک کاراکتر و غیره. هنگام پردازش یا هنگام نوشتن در جدول پایگاه داده، همه چیز به آرامی انجام می شود. اما چه زمانی نسخه اصلی بعد یا معنای دیگری پیدا می کند؟ گزینه اول: علامت را تغییر دهید، اما اتصالات و درخواست‌ها ممکن است بلافاصله وارد شوند.

استاتیک و اشیا

تعریف مفهوم "داده" به عنوان یک شی، وضعیت را به طرز چشمگیری تغییر می دهد. شیء ساختار خاص خود را دارد. در اینجا می توانید از هر توضیحی برای هر متغیری استفاده کنید. نقش بازی نخواهد کرد. یک شی دارای روش هایی است که از طریق آنها داده ها در دسترس است. از آنجایی که همه چیزدر زمینه برنامه نویسی استفاده می شود، یعنی سه روش اساسی: خواندن، نوشتن، تغییر. می توانید موارد بیشتری را برای مقایسه، جستجو، شبیه سازی و غیره اضافه کنید.

منطقه موضوعی طیفی از ویژگی ها را بر هر داده تحمیل می کند. بنابراین، معلوم می شود که مفهوم داده به نوعی توصیف تبدیل می شود که می تواند به صورت پویا تغییر یابد. ایستا در داخل یک شی، پویایی در خارج از آن می دهد.

تغییر ترکیب توصیفگرهای استاتیک در داخل یک شی، لازم نیست نگران پویایی روابط آن با اشیاء دیگر باشید.

برنامه نویسی و ارائه داده

داده چیست؟ آگاهی عمومی از قبل به فناوری اطلاعات عادت کرده است، در ابرها کار می کند و در فضاهای مجازی ظروف دارد. اکنون نه تنها برنامه نویسان و کاربران حرفه ای، بلکه مردم عادی نیز در زمینه اطلاعات و استفاده از آن صلاحیت دارند.

افکار عمومی
افکار عمومی

اما برنامه نویسی چیست؟ تا به امروز، افکار عمومی تعریف زیر را از این مفهوم و مفاهیم آن ارائه می دهد:

  • اطلاعات و داده ها مفاهیم اساسی مورد استفاده در علوم کامپیوتر هستند.
  • داده روش خاصی است که مشاهدات را نسبت به واقعیت اطراف دریافت و ثبت می کند.
  • آنها ساده و پیچیده (ساختارها)، اولیه و ثانویه هستند.
  • پایگاه داده مجموعه ای از مطالب مستقل است که به روشی سیستماتیک ارائه شده است تا بتوان آنها را پیدا کرد، اصلاح کرد و استفاده کرد.

این چقدر هدف است؟ نویسندگان معتبراینطور فکر کن تمرین واقعی تمایل دارد اطمینان حاصل کند که هر حوزه موضوعی سیستم داده صحیح خود را تعیین می کند و هر فرصتی را برای ایجاد یک مدل پویا خوب می دهد.

این غیرمعمول نیست که یک مشتری (مصرف کننده) نظر خود را به یک برنامه نویس (طراح پایگاه داده) در مورد اینکه چگونه و چه کاری انجام دهد تحمیل کند. از نقطه نظر برنامه نویسی، هر خواسته مشتری را می توان با نهایت دقت برآورده کرد.

نیازمند اوراکل برای حل مشکل بودجه برای نگهداری آب روستایی (ساختمان 21 روستا) - خوب. MySQL برای سازماندهی یک سیستم ردیابی برای اقلام پستی برای همه دفاتر پست در روسیه مورد نیاز است - همه چیز نیز کار خواهد کرد.

شما همیشه می توانید هر الگوریتمی را بسازید و دسترسی به هر نمایشی از اطلاعات را در چارچوب تعریف مفهوم داده که توسط توسعه دهنده سیستم مدیریت پایگاه داده یا زبان برنامه نویسی ایجاد شده است، فراهم کنید. سوال متفاوت است: چگونه می توان آن را با حداقل هزینه در حداکثر دینامیک انجام داد؟

پایگاه‌های داده، مثال‌ها

یک پایه ساده بدون مدل ایجاد می شود. مفاهیم اولیه داده و ارتباطات کوچک هستند، عملکرد بسیار ساده است. به عنوان مثال، برای یک موسسه آموزش عالی شما نیاز دارید:

  • جدول معلمان;
  • جدول گروه (کلید و شماره گروه)؛
  • جدول عمومی دانش آموزان (از کلیدهای گروه استفاده می شود).

رئیس می خواهد پیشرفت معلمان را بداند. جدول معلمان دارای فیلدهایی است:

  • نام خانوادگی;
  • name;
  • نام نام خانوادگی;
  • شماره گروه تحت نظارت.

جدول دانش آموز دارای فیلدهایی است:

  • نام خانوادگی;
  • name;
  • نام نام خانوادگی;
  • تاریخ تولد؛
  • GPA (برای همه دروس)؛
  • شماره گروه.

حداقل دو گزینه برای نمونه گیری می تواند وجود داشته باشد: با استفاده از نام معلم می توانید به شماره گروه بروید و همه دانش آموزان و میانگین نمرات آنها را ببینید یا با نام خانوادگی معلم و آخرین آنها. نام دانش آموز، می توانید میانگین نمره آخرین را ببینید.

پایگاه داده ساده
پایگاه داده ساده

حتی در چنین نسخه ساده ای، مشکلات تضمین شده است و چیزی باید تغییر کند. وضعیت: معلم بیمار شد، یک ماه دیگر جایگزین او می شود، یعنی او بر دو گروه نظارت می کند. فقط یک فیلد زیر یک شماره گروه در جدول معلم وجود دارد.

برای حل مشکل، باید یک فیلد تکراری اضافه کنید. و اگر دو نفر بیمار شدند، سه میدان اضافه کنید. بنابراین جدول معلمان از ابتدا شروع به رشد می کند.

گزینه دیگری وجود دارد: فیلد عددی کلید گروه را با یک نماد نمادین جایگزین کنید. سپس، هر بار که انتخاب می‌کنید، باید رشته را به دنباله‌ای از کلیدها تبدیل کنید و یک کوئری sql به چندین کلید تبدیل می‌شود.

یک مثال امیدوارکننده تر، ساختن جداول نیست، بلکه ساختن اشیا است. سپس معلم یک شی است و می تواند چندین گروه تحت نظارت داشته باشد. اما همیشه یک شی است. شی معلم دارای یک کلید منحصر به فرد است، اما می تواند چندین گروه تحت نظارت داشته باشد. این گروه همچنین یک کلید منحصر به فرد دارد. یک دانش آموز هم.

هر سه موقعیت نه تنها در داخل کار موجود هستند، بلکه می توانند بیشتر توسعه یابند.

پایه های شی گرا

پیشروان صنعت اطلاعاتارائه پایگاه داده های رابطه ای کلاسیک آنها توسط زندگی آزمایش می شوند، کار می کنند، ایمن هستند، قابل اعتماد هستند و در صورت بروز مشکل، به شما اجازه می دهند اطلاعات را بازیابی کنید.

پایگاه های داده شی گرا (OODB) در اواسط دهه 1980 شروع به توسعه کردند و به گفته نویسندگان معتبر، تا به امروز امیدوار کننده هستند. اما تاکنون، جدای از تئوری‌های بنیادی و مفاد مفهومی، هیچ OODB وجود ندارد که به رتبه و توزیع مشابه MySQL، MS SQL Server یا Oracle در تمام تجسم‌های متنوع آن دست یافته باشد.

پایگاه داده OO
پایگاه داده OO

اما اگر تعریف، مفهوم داده، انواع، ویژگی‌ها، کلاس‌ها، سلسله‌مراتب توسط توسعه‌دهنده‌ای پیشنهاد شود که رتبه‌بندی او برای ایجاد جامعه برنامه‌نویسانی که ذهنیت این OODB را دارند، کافی نیست، چه؟ ما باید به قدرت خودمان تکیه کنیم.

بیش از سی نوع OODB در محیط لینوکس ایجاد شده است. اما تضمین اینکه پایگاه داده ایجاد شده به عملکرد بیشتری نیاز نداشته باشد کجاست؟ محیط ویندوز تضمین های زیادی در این زمینه ارائه نمی دهد.

راه حل شی گرا

با این حال، راه حلی وجود دارد. با استفاده از MySQL به عنوان مثال، می توانید نشان دهید که چگونه جداول رابطه ای استاندارد به یک مدل شی گرا از مسئله در حال حل تبدیل می شوند.

نمونه ای از OODB خودتان
نمونه ای از OODB خودتان

در اینجا پایگاه داده ای وجود ندارد، اما محیطی برای تشکیل سیستم اشیاء خود وجود دارد. قدرت MySQL فقط به عنوان حافظه رابطه ای برای جداول از ردیف های اطلاعات استفاده می شود. منطق استفاده توسط خود توسعه دهنده تعیین می شود. به طور خاص، یک جدول is_cache وجود دارد. همه چیز داردچندین فیلد اساسی:

  • کد_مالک؛
  • کد_جلسه;
  • h_code;
  • a_سورپرایز;
  • a_contents.

بقیه فیلدها دارای توابع سرویس هستند. این جدول در ورودی هر درخواستی قرار می گیرد و ورود آن را ثبت می کند. اینکه مدل پایگاه داده چه کاری انجام می دهد توسط توسعه دهنده آن تعیین می شود. آنچه در فیلد محتوا (a_contents) قرار می گیرد توسط اشیاء مدل ایجاد شده توسط توسعه دهنده تعیین می شود.

در این ایده چهار چیز وجود دارد: ضربه، جلسه ضربه، کد تاریخچه بازدید، و محتوای خاص. تماس چیست، چه سیستمی از اشیاء باید ساخته شود - توسط توسعه دهنده تعیین می شود. منظور از جلسه (فرایند کاری) توسط توسعه دهنده تعیین می شود. کد تاریخچه توانایی بازگشت به درخواست ها است.

جدول اینجا هیچ ربطی به حوزه موضوع ندارند. یک کنترلر تماس (is_cache)، ورود به سیستم (is_customs)، سابقه تماس (is_history) وجود دارد. جداول باقیمانده با کار در حال حل تعیین می شوند.

در واقع، این راه حل پیشنهاد می کند OODB خود را بر اساس مدل پایگاه داده دامنه ساخته شده ایجاد کنید و مشکل در حال حل شدن است. یک مزیت بزرگ در اینجا وجود دارد - این مفهوم خود شما از داده ها، مدل خود شما از ارائه آنها و رابطه بین آنها است. در اینجا یک پایه وجود دارد - یک پایگاه داده رابطه ای عالی. هیچ مشکلی در جستجوی چیزی و سوء تفاهم چیزی وجود نخواهد داشت.

مدل: سیستم شی + DBMS

تغییر چیزی در فناوری اطلاعات تقریباً غیرممکن است. انقلاب اطلاعاتی واقعی هنوز خیلی دور است. آگاهی حرفه ایتوسعه دهندگان نرم افزار قرار نیست سنت های کلاسیک را تغییر دهند. اما هنوز راهی برای خروج از این وضعیت وجود دارد.

راه حل ایده آل
راه حل ایده آل

با استفاده از سیستم های مدیریت پایگاه داده مدرن قابل اعتماد به عنوان پایه ای برای ایجاد محیطی برای وجود مدل خود، می توانید به موفقیت چشمگیری دست یابید.

در هر صورت، باید یک view یا یک مدل داده بسازید تا کار را حل کنید، اما باید آن را به درستی انجام دهید: بگذارید سیستمی از اشیا باشد و یک DBMS خوب محیط آن باشد.

توصیه شده: