آموزش صفر تا صد دیتایس (Database) + ارتباط با php و اندروید

دیتابیس مکان یا فضایی می باشد که اطلاعات یک نرم افزار، وب سایت و … را در خود نگهداری و ذخیره می کند. بنابراین یکی از موضوعات بسیار مهم و تاثیر گذار در شناخت دیتابیس، مفاهیم دیتابیس می باشد. برای اینکه دیتابیس بتواند دسترسی و مدیریت اطلاعات ذخیره شده را برای کاربران آسان کند، از قواعد مربوط به سازماندهی اطلاعات استفاده می کند. زمانی که از Database استفاده می کنید، به راحتی می توانید به بخش و یا کل این اطلاعات دسترسی داشته باشید. برای آشنایی با این مفاهیم دیتابیس می توانید از توضیحات این مقاله استفاده نمایید.پایگاه داده چیست؟قسمت های مختلف databaseمثالی ساده از پایگاه دادهپایگاه داده در دنیای کامپیوتراصطلاحات و مفاهیم Databaseروش های ذخیره داده در databaseمشکلات متداول در طراحی databaseمزایا و معایب سیستم های دیتابیسسخن پایانیپایگاه داده چیست؟مجموعه اطلاعات یا داده هایی که طبق قواعد مشخص به صورت سازمان یافته و مرتب ذخیره می شوند و در کنار هم قرار می گیرند، پایگاه داده یا Database نام دارند. برای درک بهتر این مفهوم، دفترچه تلفن یا لیستی از کالاهای موجود در انبار را تصور کنید که اطلاعات به صورت مرتب در کنار هم ذخیره می شوند و یکی از نمونه های database به حساب می آیند.ویژگی های databaseاشتراکی شدن (shared)ماندگاری(persistence)امنیت (security)اعتبار (validity)سازگاری (cnsistency)کاهش افزونگی (non redundancy)استقلال (independence)پایگاه داده اس کیو ال چیست ؟به دلیل افزایش طراحی وب سایت های پویا، نیاز به پایگاه داده و بانک اطلاعاتی (database) بزرگ نیز بسیار مهم می باشد. مدیریت پایگاه داده ها یک نیاز پیچیده می باشد که به وسیله زبان برنامه نویسی SQL می توانید این نیاز را از بین ببرید.نسخه های مختلف sql serverSql Server ExpressSql Server workgroupSql Server StandardSql Server DeveloperSql Server EnterpriseSql Server Webانواع Database ها از نظر سرویس دهیدیتابیس های تک کاربره (DeskTop DataBase)دیتابیس های چند کاربره (Server DataBase)قسمت های مختلف databaseدیتابیس دارای قسمت های مختلفی همچون موارد زیر می باشد.TableViewStored procedreFunctionو ….مثالی ساده از پایگاه دادهبرای شناخت بهتر مفاهیم database، می خواهیم در این قسمت یک مثال ساده را برای شما بیان کنیم. این مثال مربوط به اجاره منزل در یکی از منطقه تهران می باشد. برای این کار شما چه روندی را در پیش می گیرید و چه کاری را انجام می دهید؟ اصولا برای انجام این کار، به یک بنگاه املاکی مربوط به آن منطقه مراجعه می کنید. پس از مشاهده تمام لیست های منازل اجاره ای موجود در آن منطقه می توانید به راحتی به تمام اطلاعات این منازل همچون نام مالک، آدرس خانه، اجاره بها، مبلغ ودیعه و… دسترسی پیدا کنید. این لیستی که در این مثال برای شما بیان شده است، یک database می باشد که به عنوان دیتابیس خانه های اجاره ای بیان می شود.پایگاه داده در دنیای کامپیوتریکی از کاربرد ها یا قابلیت های database، استفاده آن و مدیریت اطلاعات دیتابیس در نرم افزار ها می باشد. مثال هایی در زمینه این کاربرد برای شما بیان خواهیم کرد. مثال های زیر مربوط به سایت ۷learn می باشند.سایت سون لرن، حاوی یک جدول از اطلاعات کاربران ثبت نامی در database خود است.تمام مقالات و پست‌ های سایت در جدولی جداگانه ذخیره می‌ شوند.در جدولی دیگر ویدئو های آموزشی و فایل‌ های تصویری نگهداری می ‌شوند.و….اصطلاحات و مفاهیم Databaseجدول (Table)یکی از مفاهیم موجود در database می باشد که وظیفه نگهداری اطلاعات را بر عهده دارد. تمام جداول موجود در دیتابیس، دارای ستون و ردیف هایی هستند که می توانید به آن ها ردیف و ستون اضافه نمایید.ستون یا ویژگی (Column یا Attribute)تمام جدول های دیتابیس دارای چندین ستون می باشد و هر ستون ویژگی یا مقداری خاصی از یک متغییر را در خود ذخیره می کند. مثلا ستون نام یا نام خانوادگی و … که تنها یک مقدار خاص را در خود ذخیره می کند.ردیف یا سطر (Row)یکی دیگر از مفاهیم دیتابیس، سطر های جدول می باشد که به آن ردیف جدول یا رکورد نیز گفته می شود. هر کدام از ردیف های جدول database، مجموعه ای از ویژگی ها را در خود نگه می دارد. مثلا تمام اطلاعات یک کاربر را در رکورد مربوط به جدول کاربر را در خود ذخیره می کند.نوع (Type یا Domain)تمام ستون های جداول موجود در دیتابیس، دارای فرمت خاصی می باشند. به طور کلی، به واژه type، فرمت یا نوع نیز گفته می شود. در پایگاه داده یا database، داده ها می توانند دارای نوع های مختلفی باشند. دیتابیس از type هایی همچون رشته (String)، عدد صحیح (Integer) و… پشتیبانی می کند.موجودیت (Entity)موجودیت یک مفهوم کلی در مفاهیم database می باشد که مربوط به ویژگی ‌ها و اطلاعاتی می باشد که قرار است در دیتابیس ذخیره نمایید. شی، انسان، مشتری و… به عنوان یک موجودیت database به حساب می آیند و فراموش نکنید که هر کدام از موجودیت ها، دارای ویژگی های خاصی می باشند.Fieldبه خانه های ستون موجود در جداول را فیلد گفته می شود. از فیلد برای مشخص کردن خصوصیات موجودیت استفاده می شود. به طور کلی به فیلد یک صفت و ویژگی موجودیت نیز گفته می شود.۲ جزء اصلی فیلداسم صفت خاصهمقدار صفت خاصهدادهداده ها دارای معانی مختلفی هستند اما می توانیم به طور کلی داده را اینگونه معرفی نماییم. داده ها کلمات و اطلاعات واقعی می باشند که به وسیله مشاهده و تحقیق تولید و ایجاد می شوند. البته به data نمودی از وقایع، معلومات، رخدادها، پدیده ها و مفاهیم نیز گفته می شود. به طور ساده تر می توانیم به داده ها، نمایش باینری از یک موجودیت منطقی ذخیره شده در حافظه کامپیوتر نیز بگوییم.اطلاعاطلاعات که به آن information نیز گفته می شود، یکی از مهم ترین مفاهیم database می باشد که برای گیرنده و کاربران قابل درک می باشد. شما با داشتن این اطلاعات می توانید، یک مسئله را حل یا ارزیابی نمایید. زمانی که اطلاعات وارد کامپیوتر می شود و سپس در کامپیوتر ذخیره می گردد. زمانی که اطلاعات در کامپیوتر ذخیره می شود، به داده تبدیل می گردد و در نهایت به عنوان اطلاعات خروجی توسط کاربران دریافت می شود.بیتبیت کوچکترین واحد حافظه (Memory) می باشد. با اینکه کوچکترین واحد حافظه به حساب می آید اما تمام داده ها روی همین بیت های کوچک ذخیره می شوند.بایت۸ تا بیت یک بایت را تشکیل می دهد و بایت نمایش دهنده یک کاراکتر می باشد.کاراکترنام دیگر کاراکتر، نویسه می باشد که به عنوان اولین واحد منطقی داده به حساب می آید. به عدد، حرف یا هر علامت قراردادی کاراکتر گفته می شود که برای کاربر قابل درک می باشد.رکوردنام دیگر رکورد، سابقه ‌ی اطلاعاتی می باشد که از ترکیب چند فیلد ساخته می شود.فایلفایل از مفاهیم database می باشد که به آن، پرونده نیز گفته می شود. فایل ها مجموعه ای از رکورد های مرتبط با هم هستند.صفت خاصه (attribute)یکی دیگر از مفاهیم دیتابیس صفت خاصه می باشد که به صفتی صفت خاصه گفته می شود که یک موجودیت را از موجودیت دیگر جدا می کند.Instanceیکی از مفاهیم Database واژه Instance می باشد که در زمان نصب Sql Server، با آن مواجه می شوید. به طور کلی می توانیم این واژه را این گونه معرفی نماییم که هر نسخه از Sql Server یک Instance می باشد و در زمان نصب Sql Server یک Instance را روی سیستم خود ایجاد می کنید. فراموش نکنید که نمی توانید به صورت هم زمان ۲ تا instance را روی سیستم خود نصب نمایید.CollationCollation جزء مفاهیم Database و Sql Server به حساب می آید که در زمان استفاده از Sql Server با این واژه آشنا می شوید. Collation قابلیتی می باشد که نحوه مرتب کردن الفبای یک زبان خاص و نحوه مقایسه کردن حروف الفبای آن زبان را مشخص می کند و در خود قرار می دهد. ساده در می توانیم بگوییم که، Collation مشخص کننده زبان دیتابیس شما می باشد و بیان می کند که داده های database شما از چه زبانی می باشند. Collation دارای ۱ موضوع بسیار مهم به نام case Insensitive می باشد. case Insensitive تعیین کننده حساب بودن دیتابیس شما به حروف بزرگ و کوچک است. در صورتی که انتهای Collation شما گزینه CI وجود داشت، به این معنا می باشد که Database شما به حروف بزرگ و کوچک حساس شده است.روش های ذخیره داده در databaseیکی دیگر از مفاهیم دیتابیس، روش های ذخیره سازی در database می باشد که این عمل به ۲ صورت زیر انجام می شود.سیستم پایگاه داده (database system)ذخیره سازی داده ها در سیستم پایگاه داده به صورت مجتمع انجام می شود و باعث می شود هر کاربر دید خاصی به داده ها داشته باشد. این سیستم امکان دسترسی مشترک کاربران با پایگاه داده را ایجاد می کند و افزونگی داده ها را کاهش می دهد.کاربردهای سیستم پایگاه دادهانجام کلیه تراکنش های بانکداریرزرواسیون و زمانبندی خطوط هواییثبت نام دانشجویان، واحدگیری و ثبت نمرات در مراکز آموزشیثبت اطلاعات مشتریان، محصولات و فاکتورهای خرید و فروشپیگیری سفارشات و پیشنهادات در فروش onlineثبت رکوردهای کارمندان و محاسبات حقوق، کسورات مالیاتی در سازمان هاعناصر اصلی سیستم پایگاه دادهداده هاسخت افزارنرم افزاررویه های عملیاتیکاربرسیستم فایلی (file system)نحوه ذخیره سازی داده ها در سیستم فیلی، به این صورت می باشد که داده ها به شکل مجزا در فایل های جدا ذخیره می شوند. در این سیستم، سیستم پردازنده فایل برای استفاده از داده ها ساخته می شوند. تنها برنامه های کاربردی می توانند، به فایل های مربوز به خود دسترسی داشته باشند.اشکالات موجود در این سیستمافزونگی و ناسازگاری دادهایجاد مشکل در دستیابی داده و نیاز به نوشتن برنامه جدیدی برای انجام هر کارایجاد ناسازگاری به دلیل وجود چندین کپی از دادهبه وجود آمدن مشکلات امنیتی به دلیل دسترسی همروند و بدون کنترل توسط چند کاربرمشکلات متداول در طراحی databaseعلاوه بر مفاهیم database، مشکلاتی نیز در زمان طراحی و استفاده دیتابیس به وجود می آید که در این قسمت به طور کامل به آن ها می پردازیم. همانطور که می دانید، برای طراحی، ایجاد و استفاده از database و آشنایی با نحوه عملکرد DBMS‌ های مختلف نیاز به تخصص، تجربه و دانش دارید. در دیتابیس نقش های مختلف با مسئولیت‌ های مختلفی همچون طراح دیتابیس (Database Designer)، مدیر پایگاه داده (Database Administrator) و برنامه نویسان پایگاه داده (Database Programmers) وجود دارد. فراموش نکنید که بیشترین مشکلات در زمان طراحی پایگاه‌ داده ایجاد می شود و در لیست زیر به این مشکلات اشاره خواهیم کرد.انتخاب نامناسب DBMS با توجه هدف مورد نظرطراحی نامناسب دیتابیسنام گذاری ضعیف جداول در databaseنداشتن مستنداتتست نکردننداشتن Primary keyورود تمام اطلاعات در یک جدول دیتابیسبرقراری ارتباط نامناسب میان جداول مختلف databaseمزایا و معایب سیستم های دیتابیسمزایای مهم سیستم پایگاه دادهتجمع، وحدت ذخیره سازی و کنترل متمرکز داده هاکاهش افزونگیبه اشتراک گذاشتن داده هاپرهیز از ناسازگاریاعمال محدودیت های امنیتیصحت بیشتر داده و استقلال از برنامه های کاربردیراحتی پیاده سازی برنامه های کاربردی جدیدمعایب سیستم پایگاه دادهزمان بر، دشوارتر و پیچیده بودن طراحی سیستم های پایگاه دادههزینه بالا برای سخت افزار و نصب نرم افزارآسیب دیدن پایگاه داده روی کلیه برنامه های کاربردی تاثیر می گذاردهزینه زیاد برای تبدیل سیستم فایلی به سیستم پایگاه دادهنیازمند تعلیم اولیه به برنامه نویسان و کاربراناستخدام کارمندان خاص پایگاه دادهطولانی بودن زمان اجرای هر برنامهبسیار وابسته بودن به عملیات سیستم مدیریت پایگاه دادهسخن پایانیاز متداول ترین واژه های موجود در دنیای طراحی سایت، Database می باشد. این واژه در طراحی اپلیکیشن ها نیز بسیار کاربردی می باشد و تعداد کمی از طراحان اپلیکیشن از database استفاده نمی کنند. مفاهیم دیتابیس مختلفی همچون بیت، بایت، جدول، سطر ها، ستون ها، Collation، فایل ها، case Insensitive، Insensitive و … وجود دارد که آشنایی با این مفاهیم Database شما را برای شناخت بهتر و استفاده راحت تر دیتابیس کمک بسیاری می کند.