نرمال سازی داده ها
نرمال سازی پایگاه داده
اگر برای مدتی با پایگاه های داده کار کرده باشید شاید واژه ی نرمال سازی به گوش شما خورده باشد. شاید کسی پرسیده باشد " این پایگاه داده نرمال است؟" یا " آیا BCNF است؟" نرمال سازی معمولا به عنوان کاری آکادمیک که زمان زیادی می طلبد کنار گذاشته می شود. اما در واقع فهم نرمال سازی و استفاده از آن در پایگاه داده کاری پیچیده نیست و می تواند کارایی سیستم پایگاه داده را بسیار بالا ببرد. در این مقاله مفهوم نرمال سازی را مطرح می کنیم و نگاهی اجمالی به عمومی ترین روش های آن می اندازیم. نرمال سازی چیست؟ نرمال سازی فرآیند سازماندهی کارآمد اطلاعات در پایگاه داده است. نرمال سازی دو هدف دارد: اجتناب از درج اطلاعات زائد ( مثلا ذخیره ی یک داده در دو جدول متفاوت ) و اطمینان از درستی وابستگی داده ها به یکدیگر ( ذخیره ی اطلاعات مربوط به هم در جدول ). هر دوی این اهداف مهم هستند زیرا که فضای مورد نیاز برای ذخیره پایگاه داده را کم می کنند و از ذخیره ی منطقی اطلاعات اطمینان حاصل می کنند. فرم های نرمال انجمن های پایگاه داده دستور العمل هایی برای اطمینان از نرمال بودن پایگاه داده ارائه کرده اند. این دستور العمل ها به عنوان فرم های نرمال شناخته می شوند و از 1 ( به عنوان پایین ترین سطح نرمال سازی ) تا 5 وجود دارند. در آموزش ها معمولا فرم های نرمال سازی اول تا سوم گفته می شوند در حالی که فرم چهارم و پنجم خیلی به ندرت دیده می شوند. قبل از اینکه بحث خود را درباره ی فرم های نرمال سازی شروع کنیم مهم است بدانیم این ها فقط دستور العمل هستند. گاهی نیاز است که به خاطر مسائل کاری از آن ها پیروی نکرد.
نرمال سازی پایگاه داده
نرمالسازی فرآيند سازماندهی داده در پايگاه داده بطور کارآمد است. نرمالسازی روشی برای طراحی جداول پايگاه داده است و داده ها را به طريقی ساماندهی می کند که باعث کاهش افزونگی داده و رفع مشکلات ساختاری و آنومالی شود. هدف از نرمالسازی حذف افزونگی داده و باقی نگهداشتن وابستگی بين داده های مرتبط است. به اين طريق اندازه پايگاه داده را کاهش داده و ذخيره منطقی داده را تضمين می کند. مفهوم نرمالسازی پايگاه داده اولين با ر توسط Edgar Frank Codd معرفی شد.فرآيند نرمالسازی شامل ايجاد جداول و برقراری ارتباط بين آنها طبق قواعد معين است و روی وابستگی های ستون های جدول تمرکز دارد. اين فرآيند اغلب باعث ايجاد جداول بيشتر می شود ولی باوجوديکه اثر تکرار داده درون پايگاه داده را دارد باعث افزونگی غير ضروری داده نمی شود. هدف از نرمالسازی تضمين اين است که ستون های غير کليدی در هر جدول مستقيما وابسته به کل کليد باشند و به اين ترتيب حذف وابستگی های ناسازگار، کاهش افزونگی، آنومالی کمتر و بهبود کارائی را نتيجه می دهد. مثال. جدول زير که اطلاعات مربوط به خريد مشتريان را دارد درنظر بگيريد:همانطور که مشاهده می شود با هر فروش داده ها در جدول تکرار می شوند. اين افزونگی مشکلات زير را می تواند ايجاد کند: • هدر رفتن فضای ذخيره سازی. با وجوديکه امروزه ديسک های چندصد گيگا بايتی وجود دارد چندين بار ذخيره يک داده غير ضروری است. • آنومالی در بهنگام سازی . اگر داده يک مشتری، مثلا آدرس، تغيير کند بايد در همه جاهائی که ذخيره شده است اين تغيير اعمال شود درغيراينصورت جامعيت نقص می شود. • آنومالی در حذف. اگر اين جدول به منظور نگهداری مشخصات مشتريان باشد، اگر مشتری خريدش را پس بدهد و سطر مربوط به آن حذف شود کليه اطلاعات مشتری هم حذف می شود. • آنومالی در درج. به همين صورت نمی توانيم مشخصات مشتری جديد را درج کنيم مگر اينکه کالائی خريده باشد. جدا کردن داده های جدول فوق به جداول جداگانه افزونگی را کاهش می دهد و مواجهه با آنومالی های فوق را ساده تر می کند. اين فرآيند را نرمالسازی می نامند. فرم های نرمالتئوری پايگاه داده درجه نرمالسازی جدول را با اصطلاح فرم های نرمال(normal form) شرح می دهد. فرم های نرمال (يا بطور خلاصه NF) معياری برای تعيين درجه نرمال جدول دراختيار می گذارد. فرم های نرمال جداگانه روی هر جدول می توانند بکار بروند. پايگاه داده زمانی در فرم نرمال n خواهد بود که کل جداول آن در فرم نرمال n باشند. فرم های نرمال عبارتند از: • First Normal Form (1NF) • Second Normal Form (2NF) • Third Normal Form (3NF) • Forth Normal Form (4NF) • Boyce/Codd Normal Form (BCNF) • Fifth Normal Form (5NF) • Domain/Key Normal Form ...
نرمال سازی داده ها
سلاماستاد گرامی وقت بخیراز طریق اینترنت با شما ووبلاگ آموزنده تان آشنا شدم.راهنمایی شما درباره طریقه گرفتن آزمون نرمال دیدم. اما نتوانستم برای داده های خود به کارببرممن برای پایان نامه قصد دارم بریا آزمون فرضها از مدلسازی معادلات ساختاری استفاده کنم و شرط لازم برای این کار نرمالبودن داده ها است. ولی متاسفانه هرکاری می کنم نمی توانم داده ها را نرمال کنم.داده ها دارای طیف لیکرت 5 گزینه ای هستندفایل اس پی اس اس را در پیسوت قرار داده ام.لطفا راهنمایی بفرمایید.با تشکرسیدرضا مهنما پاسخ: معمولا اگر متغیر وابسته شما نرمال نیست با تبدیل LN می توانید آنها را نرمال کنید و اگر نشد روش دوم را هم اجرا کنید برای روش دوم داده های غیر نرمالتان را منهای میانگین کنید تقسیم بر انحراف معیارشان یا آنها را منهای مینیمم کنید حاصلشان را تقسیم بر (ماکسیمم منهای مینیمم) کنید روش اول و دوم بر یکدیگر ارجحیت ندارد پس می توانید یکی از آنها را انجام دهید یا هردو را بدون اهمیت ترتیب اولویت
تبدیلات نرمال بر روی داده های غیر نرمال
فرض نرمال بودن داده ها همواره یکی از فرضیات بنیادی روش های کلاسیک آماری بوده و هست. خوب همون طور که همه می دونن این فرضیه در بسیاری از موارد در دنیای واقعی در مورد داده ها صادق نیست. برای بر طرف کردن این مشکل دو راه حل ارائه شده:1- استفاده از روش های جایگزین یا اصطلاحاً ناپارامتری2- انجام تبدیلاتی بر روی داده ها در جهت نرمال سازی توزیع داده هاخوب من با بخش اول کاری ندارم و می خوام در مورد بخش دوم صحبت کنم.در بساری از موارد میشه با استفاده از تبدیلاتی داده های غیر نرمال و به نرمال تبدیل کرد. اگر از مبحث فلسفی درست بودن یا نبودن تبدیل زدن بر روی داده ها بگذریم (چون بسیاری از آماردانان معتقداند تبدیل زدن بر روی داده ها برای نرمال کردن توزیع اون ها باعث از بین رفتن ماهیت داده ها و در نتیجه نتیجه گیری های نادرست میشه) یک مطلب کوتاه در مورد تبدیل ها بگم.برای پیدا کردن تبدیل بهینه در حال حاضر از روش BOX-COX استفاده می شه که بر اساس معیاری که داره، تبدیل بهینه یا همون لامبدا و پیدا می کنه و با به توان رسوندن داده ها به مقدار لامبدا سعی در نرمال کردن توزیع داده ها داره. گرچه این روش بسیار ساده است و نتایج قابل فهمی داره اما این روش معایبی داره که عبارتند از:1- داده ها بایستی مثبت باشند (بزرگتر از صفر)2- در برخی موارد نمی تواند تبدیلی برای نرمال کردن داده ها پیدا کندبرای رفع مشکلات بالا یک تبدیل به نام Johnson-Transformation ارائه شده که مقداری از پیچیدگی بالاتری نسبت به تبدیل BOX-COX برخوردار است اما از قدرت بسیار زیادی برای تبدیل کردن داده ها برخوردار است.برای اطلاعات بیشتر در مورد این تبدیل می تونید مقاله زیر و بخونید:Y. Chou, A.M. Polansky, and R.L. Mason (1998). "Transforming nonnormal Data to Normality in Statistical Process Control," Journal of Quality Technology, 30, April, pp 133-141اما نکته مهم اینجا است که خوشبختانه این تبدیل در نرم افزار MINITAB تعبیه شده و شما به راحتی می تونید این تبدیل و انجام بدین.مسیر این تبدیل در نرم افزار MINITAB به صورت زیر است:Stat > Quality Tools > Johnson Transformationمن خودم چندین مجموعه داده که با تبدیل BOX-COX نرمال نشدن و با این تبدیل جدید امتحان کردم و به شدت قوی عملکرد و داده ها به خوبی نرمال شدن. خود نرم افزار MINITAB هم پیشنهاد داده اول از تبدیل BOX-COX استفاده کنید و اگر نتیجه نگرفتین به سراغ این تبدیل قدرتمند برین
بررسی نرمال بودن و روشهای نرمال سازی داده ها در spss
همانطور که مطلعید در اغلب آزمون های پارامتری، مفروضات مقدماتی بسیاری وجود دارند که تا این مفروضات تامین نشوند؛ نتایج به دست آمده از آزمون، نامعتبر خواهد بود. در میان این مفروضات مهمترین و شایعترین فرض، فرض نرمال بون داده هاست. در فایل آموزشی زیر ضمن بررسی های مقدماتی برای تشخیص نرمال بودن یا نبودن داده ها، روشهای مختلف نرمال سازی داده ها را نیز بررسی کرده ایم. که میتونید از لینک زیر اون رو دانلود کنید. نرمال سازی داده ها در spss
بررسی نرمال بودن و روش های نرمال سازی در spss
همانطور که آگاهید در اغلب آزمون های پارامتری، مفروضات مقدماتی بسیاری وجود دارند که تا این مفروضات تامین نشوند؛ نتایج به دست آمده از آزمون، نامعتبر خواهد بود. در میان این مفروضات مهمترین و شایعترین فرض، فرض نرمال بون داده ها است. در فایل آموزشی زیر ضمن بررسی های مقدماتی برای تشخیص نرمال بودن یا نبودن داده ها، روشهای مختلف نرمال سازی داده ها را نیز بررسی کرده ایم. که می توانید از لینک زیر اون رو دانلود کنید. دانلود فایل
نرمال سازی داده ها در spss
همانطور که مطلعید در اغلب آزمون های پارامتری، مفروضات مقدماتی بسیاری وجود دارند که تا این مفروضات تامین نشوند؛ نتایج به دست آمده از آزمون، نامعتبر خواهد بود. در میان این مفروضات مهمترین و شایعترین فرض، فرض نرمال بون داده هاست. در فایل آموزشی زیر ضمن بررسی های مقدماتی برای تشخیص نرمال بودن یا نبودن داده ها، روشهای مختلف نرمال سازی داده ها را نیز بررسی کرده ایم. که میتونید از لینک زیر اون رو دانلود کنید. نرمال سازی داده ها در spss
نرمال بودن دادهها در spss ؟
براي انجام فصل 4 پايان نامه كه در آن كارهاي آماري پايان نامه مي آيد معمولا از نرم افزار spss اس پي اس اس يا lisrel ليزرل استفاده مي شود. در هر صورت در ايتدا بايد نرمال بودن داده ها را بررسي كرد و سپس با توجه به نرمال بودن يا نبودن داده ها در مورد انتخاب آزمون ها ي آماري در spssتصميم گيري كرد. در اين مطلب سعي دارم كه چگونگي آزمون نرمال بودن داده ها را در spss اس پي اس اس توضيح دهم, تا شايد كمكي كرده باشم به انجام كارهاي آماري پايان نامه تان با spss . منحني نرمال يك منحني متقارن و زنگولهاي شكل است كه در همه كتابهاي درسي آمار آمده است. مفهوم توزیع نرمال در مورد داده های پارامتری صدق می کند )نه داده های ناپارامتری(. براي سنجش نرمال بودن داده ها معمولا از دو آزمون آماري کولموگروف-اسمیرنف تک نمونه ای و آزمون شاپیرو – ویلک استفاده مي شود. در اين جا چگونگي انجام آزمون كولموگروف اسميرنف را با اس پي اس اس spss توضيح مي دهم. هنگام بررسي نرمال بودن دادهها ما فرض صفر مبتني بر اينکه توزيع دادهها نرمال است را در سطح خطاي 5% تست ميکنيم. بنابراين اگر آماره آزمون بزرگتر مساوي 0.05 بدست آيد، در اين صورت دليلي براي رد فرض صفر مبتني بر اينکه داده نرمال است، وجود نخواهد داشت. به عبارت ديگر توزيع دادهها نرمال خواهد بود. براي آزمون نرماليته فرضيه هاي آماري به صورت زير تنظيم ميشود: H0 : توزيع دادههاي مربوط به هر يک از متغيرها نرمال است H1 : توزيع دادههاي مربوط به هر يک از متغيرها نرمال نيست در ابتدا فايل داده هاي پرسشنامه را در نرم افزار spss باز کرده و منوی زیر را دنبال کنید Analyze >= Descriptive Services >= Explore در کادر باز شده متغيرهاي موردنظر را وارد ليست Dependent list کنيد و ساير جاها را خالي بگذاريد. سپس روي دکمه plots کليک کرده و در کادر جديد گزينه Normality plots with tests را تيک دار کنيد. با اين عمل خروجي شامل جدولي تحت عنوان Tests of Normality است که به شما دو مقدار سطح معناداري را براي هر کدام از متغيرها به طور مجزا مي دهد. اين مقادير در تشخيص نرمال بودن دادهها تعيين کننده است. جهت بررسی نرمال بودن داده ها میزان Sig متناظر با آن ها را بررسی می کنیم. چنانچه میزان Sig برای هرکدام از متغیرها بیشتر از 50 /. )پنج صدم( باشد، نتیجه می گیریم که داده ها از توزیع نرمال برخوردارند. توجه شود كه معمولا در نمونه هايي با حجم بالا منحني معمولا به سمت نرمال بودن تمايل دارد. اميدوارم كه اين مطالب براي شما دوستان در انجام كارهاي آماري پايان نامه با spss اس پي اس اس مفيد باشد.. انجام کلیه پژوهشهای آماری مربوط به پایان نامه و پروژه های تحقیقاتی به همراه تفسیر کامل نتایج با استفاده ...
آموزش spss- بررسی نرمال بودن و روشهای نرمال سازی داده ها درspss
همانطور که مطلعید در اغلب آزمون های پارامتری، مفروضات مقدماتی بسیاری وجود دارند که تا این مفروضات تامین نشوند؛ نتایج به دست آمده از آزمون، نامعتبر خواهد بود. در میان این مفروضات مهمترین و شایعترین فرض، فرض نرمال بون داده هاست. در فایل آموزشی زیر ضمن بررسی های مقدماتی برای تشخیص نرمال بودن یا نبودن داده ها، روشهای مختلف نرمال سازی داده ها را نیز بررسی کرده ایم. که میتونید از لینک زیر اون رو دانلود کنید.http://s4.picofile.com/file/7872277311/Normalize_Data.pdf.html
نرمال سازی دیتابیس
نرمال سازی دیتابیس: نرمال سازی روندی است که در آن موجودیت ها و خواص آن که شناسایی شده ، برای دیتایبس های رابطه ای به طور مناسب ایجاد کنیم. در عبارات علوم کامپیوتر ، یکتا به معنی این است که یک مقدار نمیتواند ( و معقولانه تر نبایداست) به مقادیر کوچکتر شکسته شود. برای ایجاد یک دیتابیس نرمال ، باید یک سری موارد به صورت سلسله مراتبی انجام شود. در هر مرحله که انجام میشود یک سری جدول به دیتابیس اضافه می شود و ستونهای جداول موجود نیز کاسته می شود. چرا نرمال سازی؟ قبل از بررسی قوانین نرمال سازی ، به مواردی خواهیم پرداخت که در صورت رعایت درست قوانین نرمال سازی روی جداول از این مزایا استفاده خواهیم کرد. - حذف داده های تکراری ، - جلوگیری از نوشتن کدهای اضافی برای یکسان سازی داده های تکراری. - نگهداری جداول به صورت لاغر(کوچک) که باعث افزایش حجم میزان داده های یک جدول در یک Page 8KB ذخیره خواهد شد و کاهش تعداد خواندن داده ها که برای خواندن اطلاعات یک جدول مورد نیاز هست که باعث افزایش سرعت و بازدهی برنامه میشود. - افزایش به کار گیری ایندکسهای کلاستر، که باعث افزایش سرعت و Join ها می شود. - کاهش ایندکسهای مورد نیاز برای هرجدول ، زیرا نگهداری ایندکس ها هزینه های بازدهی زیادی در بردارد. حذف داده های تکراری هر بخش از اطلاعات که بیش از یک مرتبه در دیتابیس باشد منتظر رخ دادن یک خطا می باشد.مثلا اسم شما در چند مکان مختلف ذخیره شده و یکی از آنها تغییر میکند ولی مابقی آنها تغییر نمیکند که باعث می شود شما دارای چند اسم گوناگون باشید. جلوگیری از کدهای غیر ضروری برنامه نویسی اضافی در تریگرها، Stored Procedure ها یا حتی در لایه منطقی برنامه نیازمند بررسی ساختار داده ای ضعیف هست و همچنین میتواند در بازدهی برنامه تاثیر منفی داشته باشد. کدهای اضافی همچنین احتمال افزایش باگ در برنامه را بیشتر میکند.