توانایی خود را افزایش دهیم

فرهنگ و هنر
توانایی خود را افزایش دهیم

بسم الله الرحمن الرحیم

با سلام

• لطفا مطالب سایت را به صورت منظم پیگیری کنید
• ارائه پیشنهادات و نظرات شما باعث بهبود کیفیت ارائه مطالب خواهد شد

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

طبقه بندی موضوعی
آخرین نظرات
شنبه, ۱۴ تیر ۱۳۹۳، ۰۲:۲۲ ق.ظ

درس نهم- پایگاه داده ها (پیشرفته)

در درس قبل با پایگاه داده ها و مفاهیم مهم در این زمینه آشنایی پیدا کردیم. یاد گرفتیم که چطور می شود پایگاهی برای انبار کردن داده ها با استفاده از phpMyAdmin ساخت. با توجه به آسانی کار در محیط این برنامه که به صورت «رابط کاربر گرافیکی» است، ابتدا از این ابزار برای بیان چگونگی ساخت پایگاه و متعلقاتش بهره بردیم، اما نکته در این است که در زمان نوشتن برنامه ای به زبان پی اچ پی و اتصال به پایگاه از داخل برنامه، باید از کد‌های زبان SQL استفاده کنیم.

پس این یک ضرورت است که با این زبان هم آشنا باشیم؛ البته کار بسیار راحتی است و دستورات بسیار محدود و ساده. در این درس با توجه به آشنایی مقدماتی درس قبلی با برنامه MySQL که از زبان SQL بهره می‌برد، تلاش می کنیم که زبان SQL را شرح دهیم.

 

MySQL و SQL
قبل از ورود به بحث لازم دیدیم یک بار دیگر در مورد این دو مفهوم توضیح کوتاهی بدهیم، باشد که تعریف واضع تر باعث فهم بهتر هر کدام از این دو گردد.

SQL یا Structured Query Language
این یک زبان برنامه نویسی ویژه ای است که به منظور مدیریت داده ها در سیستم های مدیریتی پایگاه داده های ارتباطی (RDBSM) نوشته شده است. سیستم های مدیریتی پایگاه داده های ارتباطی، به سیستم هایی گفته می شود که داده ها در داخل پایگاه براساس ارتباط بین شان انبار می شوند و در زمان خواندن از آنها، می توان با توجه به ارتباط داخلی، داده ها را فراخوانی کرد.

MySQL
این یک نرم افزار است که از زبان SQL استفاده می کند و ما معمولا آن را بر روی رایانه خود نصب می کنیم. می توان گفت که MySQL  موتوری است که دستورات SQL را اجرا می کند. البته نرم‌افزارهای دیگری هم هستند که از زبان SQL برای ساخت و کار پایگاه داده ها استفاده می کنند. به طور مثال شرکت مایکروسافت نرم افزاری بنام Microsoft SQL Server دارد و یا شرکت Oracle نرم افزاری با همین نام دارد که همه آنها از زبان SQL در نرم افزار خود استفاده می کنند.

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

 

دسترسی به MySQL Server
برای دسترسی به سرویس دهنده پایگاه داده ها و ساخت جدول و... ما نیاز به یک سطح دسترسی کاربری داریم. در درس قبل انجام این کار را توسط محیط phpMyAdmin دیدیم، اما در این درس این کار را توسط CMD انجام می دهیم.

کاربر MySQL
این کاربر هنگام نصب نرم‌افزار همراه بقیه موارد نصب می شود و برای استفاده از آن باید از محیط خط دستور یا همان Command Prompt Interface استفاده کرد. در شروع باید از طریق مسیر زیر(در سیستم عامل ویندوز) به CMD مراجعه کنید:

Start\ All Programs\Accessories\Command Prompt

راه دیگر هم دسترسی مستقیم به CMD از طریق گرفتن دکمه «پنجره» در صفحه کلید و انتخاب حرف R است. بعد در داخل کادری که باز می‌شود حروف cmd را بنویسید و دکمه Enter را بزنید.

هر دوی این ها به پنجره سیاه رنگ CMD در ویندوز ختم می‌شوند. در لینوکس نام این ابزار را Terminal می نامند که به خاطر گوناگونی نمای صفحه در نسخه های مختلف لینوکس هر کدام راه دسترسی خود را دارد.

نکته: برای کسانی که از Wamp Server استفاده می کنند، یک راه بسیار ساده وجود دارد. باید بر روی نشان برنامه در قسمت راست پایین صفحه کلیک کنید، بعد نشانگر را بر روی MySQL برده تا گزینه MySQL Console را مشاهده کنید. با این انتخاب مستقیما به پایگاه وصل می شوید.

حال فرض می کنیم که می خواهیم از داخل CMD وارد پایگاه شویم. پایگاه شما در داخل پوشه ای است که Wamp Server در آن نصب شده، پس باید به داخل آن پوشه رفت و دنبال پوشه ای به نام bin گشت. ما این برنامه را در دایرکتوری I نصب کرده ایم، پس آدرس ما به صورت زیر است:

I:\wamp\bin\mysql\mysql5.5.24\bin

این مسیر پوشه bin در رایانه ماست که آدرس ابتدایی به محل نصب بستگی دارد. به طور مثال اگر شما Wamp را در دایرکتوری C نصب کنید آدرس می شود:

C:\wamp\bin\mysql\mysql5.5.24\bin

این مسیر را باید از داخل cmd رفت. فرض کنید اکنون cmd ما را در داخل دایرکتوری C نشان می دهد.

لطفا به طرز انجام این کار دقت کنید:

C:\> I:     //   داخل دایرکتوری شو
I:\>    //  حال  اینجا هستیم

I:\> cd wamp\bin\mysql\mysql5.5.24\bin   //  ورود به آدرس جدید
I:\wamp\bin\mysql\mysql5.5.24\bin>    // bin  داخل پوشه
I:\wamp\bin\mysql\mysql5.5.24\bin> mysql -u root

این دستور ما را به پایگاه داده ها با شناسه کاربری root بدون هیچ روزی وصل می کند. اما این کار به دلایل امنیتی درست نیست و بهتر آن است که برای شناسه root یک رمز برگزینیم:

I:\wamp\bin\mysql\mysql5.5.24\bin> mysqladmin -u root password "darsnameh"

حال کاربر ریشه پایگاه رمز "darsnameh" را داراست. برای ورود باید به شیوه زیر عمل کرد:

برای جلوگیری از تکرار، از نوشتن آدرس دیگر خودداری می کنیم >mysql -u root -p
Enter Password: darsnameh
mysql>

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

>CREATE USER 'test' IDENTIFIED BY 'your_password';

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

wamp\apps\phpmyadmin

و فایل config.inc.php را توسط ویرایشگر باز نموده و تغییرات زیر را انجام دهید:

$cfg['Servers'][$i]['verbose'] = 'localhost';
$cfg['Servers'][$i]['host'] = 'localhost';

$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = 'dars';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

لطفا تغییرات را بر اساس نام کاربری و رمز آن وارد کنید. موارد مهمی که اغلب نیاز به تغییر دارند به شرح زیر هستند:

$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['user'] = 'root';

$cfg['Servers'][$i]['password'] = 'dars';

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

خب حال ما به سرویس دهنده پایگاه دسترسی داریم. برای دیدن باقی پایگاه ها به شکل زیر عمل می کنیم:

> show datanases;

این کار لیستی از تمام پایگا‌ه داده‌ها را برای مان نمایش می دهد.

اجازه بدهید با پاک کردن پایگا‌ه هایی که دیروز ساختیم شروع کنیم:

> DROP DATABASE darsnameh;

حال فرض کنید می خواهیم پایگاه داد‌ه جدیدی ساخته و در آن جدول درس قبلی را هم اضافه کنیم:

> CREATE DATABASE darsnameh ;

قبل از ساخت جدول ابتدا باید مشخص کنیم که در کدام پایگاه می خواهیم جدول اضافه کنیم:

> USE darsnameh ;
Database changed //  پیام تغییر پایگاه

خب تا به اینجا پایگا‌هی با نام darsnameh ساخته شد و به آن متصل شدیم، مرحله بعدی ساخت جدول و ستون هایش است. جدول درس قبل یادتان هست؟

ID FirstName LastName UserName Email
1 سامان تهرانی Saman2000 saman@yahoo.com
2 پویا اشراقی Poya1360 poya@yahoo.com

ساختار درست کردن جدول به شکل زیر است:

CREATE  TABLE   table_name
(
column_name1    data_type,
column_name2    data_type,
column_name3    data_type,
....
);

نام جدول که users است و دارای ۵ ستون. ابتدا باید جدول و ستون هایش را ساخت، وارد کردن داده ها باید در مرحله دیگری صورت بپذیرد:

> CREATE TABLE  users
(

ID INT UNSIGNED NOT NULL AUTO_INCREMENT,
FirstName VARCHAR(20) NOT NULL,
LastName VARCHAR(40) NOT NULL,
Email VARCHAR(50),
PRIMARY KEY (ID)
) ;

  • INT: نوع صحیح، نوع داده هایی که در این ستون قرار می گیرند.
  • UNSIGNED: این داده ها بدون علامت و همه مثبت هستند.
  • NOT NULL: این خانه نمی تواند خالی بماند و حتما باید مقدار داشته باشد.
  • AUTO_INCREMENT: مقدار خانه ها را به طور اتوماتیک از 1 به بعد وارد می کند.
  • VARCHAR(20): نوع رشته ای، نوع داده هایی که در این ستون باید وارد شوند.
  • PRIMARY KEY (ID): انتخاب ستون ID به عنوان ستون کلیدی.
  • PRIMARRY KEY: وقتی به ستونی این المان را اضافه می کنید، آن ستون تبدیل به ستون منحصر به فرد می شود و رکورد‌هایی که می خواهید وارد جدول کنید را منحصر به فرد می‌کند.

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

اینها ویژگی‌های ستون کلید اصلی دار هستند که باعث ایجاد قابلیت هایی در مورد نوشتن، خواندن و جستجو در جدول می شوند. در ادامه دوره با استفاده از این ویژگی، مفهوم آن بیشتر روشن خواهد شد.

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

> SHOW TABLES;
mysql> SHOW TABLES;
+---------------------+
| Tables_in_darsnameh |
+---------------------+
| users                        |
+---------------------+
1 row in set (0.00 sec)

خروجی دستور به صورتی که مشاهده می کنید می شود. برای دیدن جزییات جدول دستور زیر را بزنید:

EXPLAIN users;
و یا

DESCRIBE users;

هر دوی این دستورات مشخصات جدول را برای شما نشان می دهند.

نکته: فراموش نکنید که قبل از هر کاری با پایگاه داده ها، باید ابتدا آن را انتخاب کنید:

> USE darsnameh;

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

۱- استفاده از محیط و دستورات SQL: با این شیوه می توان به طور مستقیم داده ها را وارد جدول پایگاه نمود.

۲- استفاده از پی اچ پی برای ثبت داده ها در پایگاه: در داخل کد‌های پی اچ پی از دستورات SQL استفاده کرده و داده ها را در آن می گذاریم.

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

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

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

موافقین ۰ مخالفین ۰ ۹۳/۰۴/۱۴

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی