مترجم: حبیب الله علیخانی
منبع:راسخون
منبع:راسخون
پایگاه داده (Database): به مجموعه ای از اطلاعات با ساختار منظم مانند جداول بانک و سطوح دسترسی کاربران و سایر عملیات نگهداری از اطلاعات پایگاه داده گویند.
یک پایگاه داده از دو جز تشکیل شده: فایل هایی که حاوی پایگاه داده فیزیکی هستند و نرم افزار سیستم مدیریت پایگاه داده(DBMS) که برنامه کاربردی برای دستیابی به داده ها از آن استفاده می کند.
سیستم مدیریت پایگاه داده ها(DBMS) : مجموعه ای پیچیده از برنامه های نرم افزاری است که ذخیره سازی و بازیابی داده های(فیلدها، رکوردها و فایل ها) سازمان را در پایگاه داده ها،کنترل می کند .
جاوا هیچ محدودیتی در برقراری ارتباط با بانک های اطلاعاتی ندارد و به اکثر سیستمهای مدیریت پایگاه داده وصل می شود که چند تا ازآنها در زیر آورده شده است.
هم قدرت اراکل را دارد و هم قدرت sql server . و حجم اطلاعات بالایی را می تواند داشته باشد و به دلیل اینکه روی سرور لینوکس هم نصب می شود، دارای امنیت بالایی است.(امنیت اطلاعات به این بستگی دارد که بانک اطلاعاتی روی چه سروری نصب شود. البته می توان از هر سیستم عامل دیگر به آن وصل شویم.)
اگر از نرم افزار Jdeveloper که استفاده کنیم، خودش اوراکل دارد و به راحتی می توان از آن استفاده کرد.
چگونه یک زبان بدون تغییر در کد، به تمامی دیتابیس ها وصل می شود:
JDBC : JDBC مجموعه دستورات و مجموعه کلاسهایی است که برای برقراری ارتباط بین زبان جاوا و بانک اطلاعاتی استفاده می شود. و هدف برنامه نویسان این است که می خواهند برنامه ی جاوا را به سیستم مدیریت بانک(Mysql)و سپس به بانک اطلاعاتی خودمان وصل کنند و در نهایت اطلاعات جداول را بخوانند و در برنامه نمایش دهند و یا در این جداول درج کنند.
درایور یا کانکتور و یا همان jar فایل ها : اپلیکیشن های جاوا باید از یک سری ساختار های داخلی تشکیل شود تا بتواند به دیتابیس وصل شود. به همین دلیل درایور یا کانکتور و یا همان jar فایل ها به پروژه اضافه می شوند که در آنها کلاسهایی پیاده سازی شده تا بتواند جاوا را به بانک اطلاعاتی وصل کند. jar فایل ها ی که ما برای اتصال mysql به جاوا استفاده می کنیم، aspectjrt-1.5.4.jar و mysql-connector-java-5.0.0.jar می باشند.
کلاس کانکشن: همان ارتباط دهنده است و وظیفه ی آن برقراری ارتباط است و دستوری صادر نمی کند و داده ای ردوبدل نمی کند.
Statement (مدیر): دستورات insert ، delete ، update ، select را انجام می دهد.
Resultset : داده ها را به jtable و یا پرینتر و یا ... می فرستد. اگر دستور select باشد ، statement از این استفاده می کند.
Jtable : مهمترین شی در اشیا swing است که برای کار با بانک اطلاعات از آن استفاده می شود.(معادل data grid viwe است)
برای اتصال یک اپلیکیشن جاوا به بانک اطلاعاتی، ابتدا به Jar فایل های آن بانک احتیاج داریم. این jar فایل ها شامل چند فایل است(مثل jar و zip) که از سایت تولید کننده ی آن بانک قابل دانلود است.
JDBC (Java Database Connectivity): در تابستان 1996 ، شرکت sun اولین ورژن واسط(API) JDBC را منتشر ساخت. این API این اجازه را داد تا برنامه نویسیان با استفاده زبان SQL ، به پایگاه داده و سپس query اتصال پیدا کنند و یا آن را آپدیت کنند. SQL (Structured Query Language) یک محصول استاندارد برای ارتباط و دسترسی با پایگاه داده می باشد.
جاوا و JDBC امتیازهای ضروری نسبت به محیط های برنامه نویسی پایگاه داده دیگر دارند: برنامه های توسعه یافته با جاوا و JDBC وابسته به پلتفرم و شرکت فروشنده، هستند.
از همان ابتدا توسعه دهندگان تکنولوژی جاوا در شرکت Sun ، از پتانسیلی که جاوا برای کار با پایگاه داده نشان داد، آگاه بودند. در سال 1995 آنها روی گسترش کتابخانه های استاندارد جاوا برای رسیدگی به دسترسی SQL به پایگاه داده، شروع به کار کردند.
در نهایت، دو واسط ساخته شد. یکی، برنامه نویسان اپلیکیشن که از رابط (API) JDBC استفاده می کنند و دیگری، شرکت های فروشنده پایگاه داده و تولیدکنندگان ابزار که از درایور های رابط JDBC استفاده می کنند.
این سازماندهی از مدل بسیار موفق مایکروسافت به نام ODBC پیروی می کند که یک رابط زبان برنامه نویسی C برای دسترسی پایگاه داده را فراهم کرد. هم JDBC و هم ODBC براساس یک عقیده ی یکسان اند: برنامه ها برطبق این نوشته شوند که API با مدیر درایور مبادله یا صحبت کند، که در حقیقت از درایورهایی که به آن پلاگین شده اند تا با پایگاه داده ی واقعی مبادله یا صحبت کنند، استفاده می کنند.
این ارتباطات به شکل زیر می باشد:
زبان پایگاه داده نوشته شده در جاوا می تواند روی یک باکس NT ، سرور سولاریس و یا یک وسیله پایگاه داده که با پلتفرم جاوا کار می کند، اجرا شود. شما می توانید داده هایتان را از یک پایگاه داده به پایگاه داده ی دیگر انتقال دهید. برای مثال از Microsoft SQL Server به Oracle . توسعه دهندگان، اپلیکیشن های پایگاه داده را در یک زبان پایگاه داده اختصاصی با استفاده از یک سیستم مدیریت پایگاه داده که در دسترس یک شرکت فروشنده است، می نویسند.
اکنون می خواهیم سرور بانک اطلاعاتی Mysql یا mysql server.5 را راه اندازی کنیم:
نصب mysql
برای این کار فایل setup با نام mysql-5.5.25-win32.msi را که از اینترنت دانلود کردیم، را اجرا می کنیم.
بعد از اجرای این فایل آماده برای نصب می شود:
نصب این نرم افزار را به صورت ویزارد انجام می دهد:
در این مرحله نوع setup را باید مشخص کنیم که ما نوع custom را انتخاب می کنیم:
در مرحله ی زیر گزینه ی Browse را انتخاب می کنیم. تا مسیر نصب را تغییر دهیم و مسیر امن قرار دهیم. مسیر پیشنهادی در درایو C و شاخه ی Program Files می باشد و این مسیر نا امن است چون در درایوی است که سیستم عامل نصب شده:
در اینجا ما مسیر را در درایو D و پوشه ی java class files که داشتیم قرار می دهیم البته نام این پوشه که می خواهد در java class files ایجاد شود، را در ادامه ی مسیر تایپ می کنیم (mysql-5.5.25-win32.msi) :
بعد از تغییر مسیر next می کنیم:
اکنون گزینه ی Install را انتخاب می کنیم تا نصب شود:
دو پیغام به صورت زیر می دهد که آنها را هم next می کنیم:
در نهایت finish می کنیم:
( در ورژن پایین تر در این مرحله از ما می پرسد که آیا می خواهید در سایت MySQL.com ثبت نام کنید و یک اکانت ایجاد کنید؟ ما گزینه ی سوم(skip sign-up) را انتخاب می کنیم تا از آن صرفه نظر کنیم)
Setup در این مرحله به پایان می رسد ولی انتخاب گزینه ی next (در ورژن پایینتر Configure…) یعنی: برای استفاده از آن باید یک سری تنظیماتی انجام شود. از جمله تنظیم پورت، run کردن سرویس های آن، تعیین پسورد برای کاربر admin (یا root در سیستم عامل لینوکس) اکنون تظیمات پیکربندی شروع می شود و next می کنیم:
در این مرحله نوع پیکربندی را از ما می پرسد که آیا می خواهید این پیکربندی به صورت استاندارد تنظیم شود یا با جزئیات؟ که ما گزینه ی اول را انتخاب می کنیم تا یه سری جزئیات را به آن اعمال کنیم:
نوع سرور را در این مرحله انتخاب می کنیم که بر روی مصرف حافظه، دیسک و cpu تاثیر خواهد گذاشت. یعنی ما می خواهیم mysql را روی چه کامپیوتری نصب کنیم، اگر بخواهیم روی یک ماشین developer یا توسعه دهنده نصب کنیم، گزینه ی اول را انتخاب می کنیم که این حالت کمترین مقدار حافظه را نسبت به حالت های دیگر مصرف می کند.
در این مرحله از ما می پرسد که از MySQL برای چه کاری می خواهیم استفاده کنیم. باید نوع استفاده را مشخص کنیم. گزینه ی Multifunctional یعنی همه ی کار ها را می توان با آن انجام داد و برای کارهای عمومی و کلی می باشد. گزینه ی دوم فقط هسته ی MySQL را نصب می کند. ما گزینه ی اول را انتخاب می کنیم و next می کنیم:
در این مرحله می پرسد که داده ها یا فایل های داده را در کجا و کدام درایو ذخیره کند. به طور پیشفرض مسیر نصب را در نظر می گیرد و ما آن را تغییر نمی دهیم. در این مسیر پوشه ای به نام data می سازد و اطلاعاتش را در آن قرار می دهد:
این مرحله می پرسد که همزمان چند نفر می توانند به سرور وصل شوند. که ما گزینه ی اول را انتخاب می کنیم که 20 نفر را در نظر دارد:
در شکل زیر می پرسد که از چه پورتی می خواهیم به Mysql وصل شویم(بیشتر در لینوکس مهم است) عدد پیش فرضی که خودش ارائه می دهد، 3306 می باشد که نیاز به کد نویسی ندارد اما اگر ما این ععد را تغییر دهیم، باید نام پورت را ذکر کنیم. و سپس next می کنیم:
در این صفحه باید مجموعه کاراکتر ها(character set) را مشخص کنیم که ما گزینه ی دوم را انتخاب می کنیم که UTF8 را پشتیبانی می کند یعنی چند زبان از جمله فارسی را پشتیبانی می کند و سپس next می کنیم:
در این مرحله نامی را اختصاص می دهیم که زمانی که این سرویس run می شود با این نام در لیست سرویسهای ویندوز دیده شود که ما MySQL5.5 را در نظر گرفتیم و گزینه ی زیر آن را تیک می زنیم تا زمان بالا آمدن ویندوز به طور اتوماتیک راه اندازی شود:
در این مرحله باید پسورد root یا همان مدیر(admin) را وارد کنیم. گزینه ی زیر آن را فعال می کنیم تا از طریق شبکه به Mysql وصل شویم و سپس next م کنیم:
در نهایت اماده می شود تا این تنظیمات و پیکربندی که انجام دادیم را اعمال کند و در پایان Execute می کنیم:
اگر همه ی تیک ها خورده شود. Mysql نصب شده است
اگرتیک چهارم خورده نشود و پیغامی مانند زیر دهد خطای 1045 است. یعنی تنظیمات security نمی تواند انجام شود، امکان دارد که فایروال اجازه ی ادامه ندهد و پیغامی مانند زیر را بدهد. باید از باز بودن پورت TCP به شماره ی 3306 اطمینان حاصل کرد. در غیر این صورت اپلیکیشن کلاینت نمی تواند به سرور وصل شود. بعد از اینکه فایروال(ویندوز و انتی ویروس) را خاموش کردیم و از باز بودن پورت اطمینان پیدا کردیم Retry را می زنیم و ادامه می دهیم:
اگر با retry کردن این مشکل برطرف نشد، مشکل آن دیگر فایروال نیست. تنظیمات security نمی تواند انجام شود زیرا ارتباط به خاطر خطای 1045 برقرار نمی شود و skip می کنیم و نصب را cancel می کنیم:
برای رفع مشکل در حالت بالا و یا زمانیکه اگر مراحل نصب را انجام داده بودیم و ناقص بود و یا اینکه قبلا نصب کرده بودیم و می خواستیم آن را دوباره نصب کنیم مراحل زیر را قدم به قدم اجرا کنیم:
1- فایل نصب را دوباره اجرا می کنیم. این مرحله را next می کنیم تا به remove برسیم:
و گزینه ی Remove را می زنیم تا مراحل نصب را بردارد:
پیغام زیر را ok می کنیم:
به دلیل اینکه سرویسی به نام MySQL5.5 زمان نصب، run شد، اکنون باید stop و remove شود پس گزینه ی yes را انتخاب می کنیم:
سپس finish را انتخاب می کنیم و این مرحله را به پایان می بریم:
2- مرحله ی یک را از مسیر زیر می توان انجام دادم و MySQL را Uninstall کرد:
Control Panel\All Control Panel Items\Programs and Features
3- به مسیر زیر می رویم و اگر پوشه ی MySQL هنوز وجود داشت را پاک می کنیم:
C:\Program Files یا C:\Program Files (x86)
4- به مسیر زیر رفته و پوشه ی را خالی می کنیم تا دوباره اینجا نصب کنیم:
D:\java class files
5- مهمترین مرحله اینجاست: دایرکتوری data به طور اتوماتیک و از طریق uninstall کردن یا remove کردن از بین نمی رود. بنابراین پسورد آخرین باری که ما MySQL را نصب کردیم، هنوز باقی مانده است و ما باید آن را پاک کنیم.
به مسیر زیر می رویم: (البته ممکن است hidden باشد)
C:\ProgramData
6- کامپیوتر را restart می کنیم.
7- دوباره از اول مراحل نصب را دنبال می کنیم.
برای اطمینان از اینکه نصب شده و سرویس آن فعال است یا نه، از طریق مسیر زیر آن را بررسی می کنیم:
Control Panel\All Control Panel Items\Administrative Tools
در این صفحه لیست همه ی سرویسها آورده شده و سرویسی که فعال باشد، مقابل آن می نویسد: start
در شکل زیر، می بینیم که MySQL5.5 هم در لیست وجود دارد و start می باشد:
پایان قسمت اول پایگاه داده.
ادامه دارد...
استفاده از مطالب این مقاله با ذکر منبع راسخون بلامانع می باشد.
یک پایگاه داده از دو جز تشکیل شده: فایل هایی که حاوی پایگاه داده فیزیکی هستند و نرم افزار سیستم مدیریت پایگاه داده(DBMS) که برنامه کاربردی برای دستیابی به داده ها از آن استفاده می کند.
سیستم مدیریت پایگاه داده ها(DBMS) : مجموعه ای پیچیده از برنامه های نرم افزاری است که ذخیره سازی و بازیابی داده های(فیلدها، رکوردها و فایل ها) سازمان را در پایگاه داده ها،کنترل می کند .
جاوا هیچ محدودیتی در برقراری ارتباط با بانک های اطلاعاتی ندارد و به اکثر سیستمهای مدیریت پایگاه داده وصل می شود که چند تا ازآنها در زیر آورده شده است.
سیستم های متداول مدیریت پایگاه داده ها (Database server) در جاوا :
1- Oracle
این نسخه رایگان و بدون محدودیت زمانی و ساختاری می باشد. برنامه در دو نسخه کلاینت (Client) و سرور (Server) به صورت مجزا ارائه شده است. فایلها به صورت یک تکه و ISO اصلی قرار داده شده اند. این نسخه شامل هر دو ویرایش Standard و Enterprise می باشد. و برای بانک های بسیار بزرگ که مثلا 50 میلیون رکورد دارد، و سیستم های اینترپرایز استفاده می شود، مانند یک کشور.2- Microsoft SQL Server
این سیستم متن باز نیست و برای بانک های متوسط مانند یک سازمان که مثلا 10 میلیون رکورد دارد، استفاده می شود و برمبنای زبان پرس و جوی ساختیافته، client/server و رابطه ای است.3- MySQL
Mysql پر کاربرد ترین سیستم مدیریت پایگاه داده ی متن باز(هرکسی می تواند آن را توسعه و تغییر دهد) است که توسط شرکت MySQL AB (http://www.mysql.com) پشتیبانی می شود. این سیستم رابطه ای است و داده ها را در جداول ذخیره می کند. SQL بخشی از MySQL و زبان استاندارد MySQL است. این نرم افزار را می توان از اینترنت و به صورت مجانی دریافت کرد. خود این پایگاه داده با زبان های C و C++ نوشته شده. دارای تعدادی API (رابط) برای C , C++ , java , php , ruby و ... دارد.هم قدرت اراکل را دارد و هم قدرت sql server . و حجم اطلاعات بالایی را می تواند داشته باشد و به دلیل اینکه روی سرور لینوکس هم نصب می شود، دارای امنیت بالایی است.(امنیت اطلاعات به این بستگی دارد که بانک اطلاعاتی روی چه سروری نصب شود. البته می توان از هر سیستم عامل دیگر به آن وصل شویم.)
اگر از نرم افزار Jdeveloper که استفاده کنیم، خودش اوراکل دارد و به راحتی می توان از آن استفاده کرد.
چگونه یک زبان بدون تغییر در کد، به تمامی دیتابیس ها وصل می شود:
درایور یا کانکتور و یا همان jar فایل ها : اپلیکیشن های جاوا باید از یک سری ساختار های داخلی تشکیل شود تا بتواند به دیتابیس وصل شود. به همین دلیل درایور یا کانکتور و یا همان jar فایل ها به پروژه اضافه می شوند که در آنها کلاسهایی پیاده سازی شده تا بتواند جاوا را به بانک اطلاعاتی وصل کند. jar فایل ها ی که ما برای اتصال mysql به جاوا استفاده می کنیم، aspectjrt-1.5.4.jar و mysql-connector-java-5.0.0.jar می باشند.
کلاس کانکشن: همان ارتباط دهنده است و وظیفه ی آن برقراری ارتباط است و دستوری صادر نمی کند و داده ای ردوبدل نمی کند.
Statement (مدیر): دستورات insert ، delete ، update ، select را انجام می دهد.
Resultset : داده ها را به jtable و یا پرینتر و یا ... می فرستد. اگر دستور select باشد ، statement از این استفاده می کند.
Jtable : مهمترین شی در اشیا swing است که برای کار با بانک اطلاعات از آن استفاده می شود.(معادل data grid viwe است)
برای اتصال یک اپلیکیشن جاوا به بانک اطلاعاتی، ابتدا به Jar فایل های آن بانک احتیاج داریم. این jar فایل ها شامل چند فایل است(مثل jar و zip) که از سایت تولید کننده ی آن بانک قابل دانلود است.
JDBC (Java Database Connectivity): در تابستان 1996 ، شرکت sun اولین ورژن واسط(API) JDBC را منتشر ساخت. این API این اجازه را داد تا برنامه نویسیان با استفاده زبان SQL ، به پایگاه داده و سپس query اتصال پیدا کنند و یا آن را آپدیت کنند. SQL (Structured Query Language) یک محصول استاندارد برای ارتباط و دسترسی با پایگاه داده می باشد.
جاوا و JDBC امتیازهای ضروری نسبت به محیط های برنامه نویسی پایگاه داده دیگر دارند: برنامه های توسعه یافته با جاوا و JDBC وابسته به پلتفرم و شرکت فروشنده، هستند.
از همان ابتدا توسعه دهندگان تکنولوژی جاوا در شرکت Sun ، از پتانسیلی که جاوا برای کار با پایگاه داده نشان داد، آگاه بودند. در سال 1995 آنها روی گسترش کتابخانه های استاندارد جاوا برای رسیدگی به دسترسی SQL به پایگاه داده، شروع به کار کردند.
در نهایت، دو واسط ساخته شد. یکی، برنامه نویسان اپلیکیشن که از رابط (API) JDBC استفاده می کنند و دیگری، شرکت های فروشنده پایگاه داده و تولیدکنندگان ابزار که از درایور های رابط JDBC استفاده می کنند.
این سازماندهی از مدل بسیار موفق مایکروسافت به نام ODBC پیروی می کند که یک رابط زبان برنامه نویسی C برای دسترسی پایگاه داده را فراهم کرد. هم JDBC و هم ODBC براساس یک عقیده ی یکسان اند: برنامه ها برطبق این نوشته شوند که API با مدیر درایور مبادله یا صحبت کند، که در حقیقت از درایورهایی که به آن پلاگین شده اند تا با پایگاه داده ی واقعی مبادله یا صحبت کنند، استفاده می کنند.
این ارتباطات به شکل زیر می باشد:
اکنون می خواهیم سرور بانک اطلاعاتی Mysql یا mysql server.5 را راه اندازی کنیم:
نصب mysql
برای این کار فایل setup با نام mysql-5.5.25-win32.msi را که از اینترنت دانلود کردیم، را اجرا می کنیم.
Setup در این مرحله به پایان می رسد ولی انتخاب گزینه ی next (در ورژن پایینتر Configure…) یعنی: برای استفاده از آن باید یک سری تنظیماتی انجام شود. از جمله تنظیم پورت، run کردن سرویس های آن، تعیین پسورد برای کاربر admin (یا root در سیستم عامل لینوکس) اکنون تظیمات پیکربندی شروع می شود و next می کنیم:
اگرتیک چهارم خورده نشود و پیغامی مانند زیر دهد خطای 1045 است. یعنی تنظیمات security نمی تواند انجام شود، امکان دارد که فایروال اجازه ی ادامه ندهد و پیغامی مانند زیر را بدهد. باید از باز بودن پورت TCP به شماره ی 3306 اطمینان حاصل کرد. در غیر این صورت اپلیکیشن کلاینت نمی تواند به سرور وصل شود. بعد از اینکه فایروال(ویندوز و انتی ویروس) را خاموش کردیم و از باز بودن پورت اطمینان پیدا کردیم Retry را می زنیم و ادامه می دهیم:
1- فایل نصب را دوباره اجرا می کنیم. این مرحله را next می کنیم تا به remove برسیم:
Control Panel\All Control Panel Items\Programs and Features
C:\Program Files یا C:\Program Files (x86)
D:\java class files
5- مهمترین مرحله اینجاست: دایرکتوری data به طور اتوماتیک و از طریق uninstall کردن یا remove کردن از بین نمی رود. بنابراین پسورد آخرین باری که ما MySQL را نصب کردیم، هنوز باقی مانده است و ما باید آن را پاک کنیم.
به مسیر زیر می رویم: (البته ممکن است hidden باشد)
C:\ProgramData
7- دوباره از اول مراحل نصب را دنبال می کنیم.
برای اطمینان از اینکه نصب شده و سرویس آن فعال است یا نه، از طریق مسیر زیر آن را بررسی می کنیم:
Control Panel\All Control Panel Items\Administrative Tools
در این صفحه لیست همه ی سرویسها آورده شده و سرویسی که فعال باشد، مقابل آن می نویسد: start
در شکل زیر، می بینیم که MySQL5.5 هم در لیست وجود دارد و start می باشد:
ادامه دارد...
استفاده از مطالب این مقاله با ذکر منبع راسخون بلامانع می باشد.
/ج