دو نوع پایگاه داده داریم SQL و No SQL نوع اول : SQL Server, MySql, Oracel نوع دوم : Mongo
نوع اول : دیتا بیس های رابطه ای یا ساختاری نوع دوم : بدون ساختار
https://datasciencedojo.com/blog/sql-or-nosql/
نوع اول : جدول دانشجویان یک کلاس که با توجه به تمام ویژگی های مشترکی که دارند طراحی میشود که این جدول میتونه با یک جدول دیگه که یک سری مشخصات دیگه هستش ارتباط داره مثلا در جدول اول مشخصات فرد و در جدول دوم اطلاعات مربوط به دروس و نمره های دانشجویان ذخیره میشه
دیتابیس های SQL ویژگی Transaction را دارند
به این مفهوم که وقتی که قراره به طور مثال یک عملیات بانکی مثل انتقال پول انجام بشه این عملیات در Transaction به این صورت انجام میشه که اگر تمامی مراحل به درستی و با موفقیت انجام بشه که همه چی اوکیه ولی اگر به هر دلیلی به خطا خورد تمامی اطلاعات Rollback میشه و برمیگرده به حالت اول
https://broscorp.net/comparing-sql-and-nosql-solutions/
خوب برای ویژگی ACID Compliance اینطوری توضیح داده شده :
https://blog.bytebytego.com/p/ep89-what-does-acid-mean
خوب به طور مثال در SQL ها اگر اطلاعاتی راجع به یک ویژگی از یک شخص نداشته باشیم ، اون سلول از اون ستون برای اون شخص خالی میمونه ولی همین سلول خالی باز هم یک فضایی رو برای خودش منحصرا اشغال میکنه ولی در no SQL ها دیگه اینطوری نیست و فقط اطلاعات یا ویژگی هایی که دارای مقدار هستند برای هر شخص ذخیره میشه و این ویژگی ها ممکنه برای هر شخص متفاوت باشه مثلا برای یک شخصی اسم و فامیل و شماره تلفن ذخیره شده و برای شخص دیگر اسم و ایمیل
خوب sql ها به خاطر پروسه ای که در Transaction ها دارن مقداری نسبت به no sql ها سرعتشون پایین تره
یه نکته DB2 روی main frame ها نصب میشه و روی سرور های عادی نصب نمیشه یک دلیلی که قبلا ازش استفاده میشده امنیت داده بوده که امروزه با استفاده از ساختار توزیع شده و ساختار های دیگه توی دیتابیس SQL میتونیم به امنیت داده برسیم
خوب sql server analusis server یا BI همچین چیزی هستش که در این تصویر پایین میبینید که بهش Warehouse هم میگن
https://bimentalist.com/2011/07/28/msbi-5-ssas-1-what-is-ssas-sql-server-analysis-services/
در Warehouse ها دیتا به صورت multidimentional ذخیره سازیش انجام میشه
خوب sql sever integration service یا ETL
برای تبدیل و واحد کردن دیتا ها از دیتابیس های متفاوت به یک فرمت واحد برای برقراری ارتباط با هم و تجمیع اطلاعات
https://www.facts.ae/factsnewsletter/sql-server-integration-services-ssis/
https://www.certia.net/sql-server-integration-services/
خوب sql server administration
مکانیزنیم برای نگهداری و امنیت داده
https://www.tatvasoft.com/blog/how-to-configure-database-mirroring-for-sql-server/
توی دوتا سرور دیتا ها به صورت همزمان ذخیره سازی میشن و مکانیزم های دیگه ای هم برای این موراد وجود دارد
خوب یه بحث دیگه sql server reporting service که میاد ریپورت بهم میده شبیه به power bi
خوب sql server -mssql sever میشه engine و جایی که دیتا بیس و جداول رو میسازیم و دیتای ما در داخل این engine ذخیره میشه
خوب sql server agent میاد کارهای تکراری رو انجام میده
حالا اینجا وظیفه ی سرور چیه ؟ وقتی که request برای دسترسی به یه دیتایی در یک دیتابیسی بهش زده میشه میاد اول چک میکنه که این کسی که این درخواست رو کرده همچین دسترسی داره ؟ بعد این که میاد ببینه اصلا همچین engine هستش بعد میاد میبنیه که اصلا دیتا داره یا خیر
خوب برای دسترسی به Engine ها و service های Sql باید بیایم یه IDE یا UI برای دسترسی به این engine ها نصب کنیم که اسمش ssms که میشه sql server managment studio
خوب ورژن بندی ها هم به این شکله :