ADO.NET asoslari.
Ma'lumotlar bilan ishlash bugungi kunda katta ahamiyatga ega. Ma'lumotlarni saqlash uchun turli xil ma'lumotlar bazalarini boshqarish tizimlaridan foydalaniladi: MS SQL Server, Oracle, MySQL va boshqalar. Va aksariyat yirik dasturlar ma'lumotlar bazasini boshqarish tizimlaridan ma'lumotlarni u yoki bu tarzda saqlash uchun foydalanadilar. Biroq, ma'lumotlar bazasi va C# dasturi o'rtasida aloqa o'rnatish uchun vositachi talab qilinadi. Va ADO.NET texnologiyasi aynan shunday vositachidir.
ADO.NET - bu .NET Framework asosidagi ma'lumotlar texnologiyasi. Ushbu texnologiya bizga ma'lumotlar bazalariga so'rovlar yuborish, ulanishlarni o'rnatish, ma'lumotlar bazasidan javoblar olish va boshqa bir qator operatsiyalarni bajarishimiz mumkin bo'lgan sinflar to'plamini taqdim etadi.
Bundan tashqari, ma'lumotlar bazasini boshqarish tizimlari juda ko'p bo'lishi mumkinligini ta'kidlash muhimdir. Ularning mohiyatiga ko'ra ular farq qilishi mumkin. Masalan, MS SQL Server so'rovlar yaratish uchun T-SQL dan foydalanadi, MySQL va Oracle esa PL-SQL dan foydalanadilar. Turli xil ma'lumotlar bazalari tizimlari har xil ma'lumotlar turlariga ega bo'lishi mumkin. Boshqa ba'zi fikrlar ham farq qilishi mumkin. Ammo, ADO.NET dasturchilarga turli xil MBBTlar bilan ishlash uchun yagona interfeysni taqdim etish uchun mo'ljallangan.
ADO.NET-dagi ma'lumotlar bazalari bilan ishlash uchun interfeysning asosini cheklangan miqdordagi ob'ektlar ifodalaydi: Connection, Command, DataReader, DataSet va DataAdapter. Connection ob'ekti ma'lumotlar manbasiga ulanishni o'rnatish uchun ishlatiladi. Command ob'ekti MBdan olingan ma'lumotlar bilan operatsiyalarni bajarishga imkon beradi. DataReader so'rovdan olingan ma'lumotlarni o'qiydi. DataSet ob'ekti MBdan ma'lumotlarni saqlashga mo'ljallangan va ular bilan MBdan mustaqil ravishda ishlashga imkon beradi. DataAdapter - bu DataSet va ma'lumotlar manbai o'rtasidagi vositachi. Asosan ma'lumotlar bazasi bilan ishlash ushbu ob'ektlardan o'tadi.
Shu bilan birga, turli xil ma'lumotlar manbalari uchun bir xil ob'ektlar to'plamidan foydalanish uchun tegishli ma'lumot provayderi talab qilinadi. ADO.NET-dagi ma'lumotlar provayderi orqali ma'lumotlar bazasi bilan o'zaro aloqalar amalga oshiriladi. Bundan tashqari, ADO.NET-dagi har bir ma'lumot manbai uchun o'z provayderi bo'lishi mumkin, bu aslida yuqoridagi sinflarning aniq bajarilishini belgilaydi.
Odatiy bo'lib, ADO.NET-da quyidagi o'rnatilgan provayderlar mavjud:
MS SQL Server uchun provayder
OLE DB uchun provayder (MS SQL Serverning ba'zi eski versiyalariga, shuningdek Access, DB2, MySQL va Oracle ma'lumotlar bazalariga kirishni ta'minlaydi)
ODBC uchun provayder (provayder bo'lmagan ma'lumotlar manbalari uchun provayder).
Oracle uchun provayder
EntityClient provayderi. ORM Entity Framework texnologiyasi uchun ma'lumotlar provayderi.
SQL Server Compact 4.0 uchun provayder
Ichki o'rnatilgan ushbu provayderlardan tashqari, MySQL kabi turli xil ma'lumotlar bazalariga bag'ishlangan boshqa ko'plab dasturlar mavjud.
ADO.NET-da ishlatiladigan asosiy nomlar fazosi:
System.Data: ADO.NET arxitekturasini amalga oshiradigan sinflarni, interfeyslarni, delegatlarni belgilaydi.
System.Data.Common: Barcha ADO.NET provayderlari uchun umumiy bo'lgan sinflarni o'z ichiga oladi.
System.Data.Design: o'z ma'lumot to'plamlarini yaratish uchun ishlatiladigan sinflarni belgilaydi.
System.Data.Odbc: ODBC uchun ma'lumotlar provayderining ishlashini belgilaydi.
System.Data.OleDb: OLE_DB uchun ma'lumotlar provayderining ishlashini belgilaydi.
System.Data.Sql: SQL Serverga xos funktsiyalarni qo'llab-quvvatlaydigan sinflarni saqlaydi.
System.Data.OracleClient: Oracle ma'lumotlar bazalari uchun provayderning ishlashini belgilaydi.
System.Data.SqlClient: MS SQL Server ma'lumotlar bazalari uchun provayderning ishlashini belgilaydi.
System.Data.SqlServerCe: SQL Server Compact 4.0 uchun provayderning ishlashini belgilaydi.
System.Data.SqlTypes: MS SQL Server ma'lumotlar turlari uchun sinflarni o'z ichiga oladi.
Microsoft.SqlServer.Server: SQL Server va CLR o'rtasidagi aloqa uchun komponentlarni saqlaydi.
ADO.NET arxitekturasi sxematik tarzda quyidagicha ifodalanishi mumkin:
Funktsional jihatdan ADO.NET sinflarini ikki darajaga bo'lish mumkin: ulangan va uzilgan. Har bir .NET ma'lumotlar provayderi ulangan qatlamni tashkil qiluvchi Connection, Command, DataReader, DataAdapter va boshqalarning o'z versiyasini amalga oshiradi. Ya'ni, ular yordamida ma'lumotlar bazasiga ulanish o'rnatiladi va u bilan o'zaro aloqalar amalga oshiriladi. Qoida tariqasida, ushbu ob'ektlarni har bir aniq provayder uchun amalga oshirishda ularning nomida provayder ko'rsatadigan prefiks mavjud:
DataSet, DataTable, DataRow, DataColumn kabi boshqa sinflar uzilgan darajani tashkil qiladi, chunki DataSet-dagi ma'lumotlarni olgandan so'ng, ulanish o'rnatiladimi yoki yo'qligiga qaramasdan biz ushbu ma'lumotlar bilan ishlashimiz mumkin. Ya'ni, ma'lumotlar bazasidan ma'lumotlar olgandan so'ng, dastur ma'lumot manbasidan uzilishi mumkin.
Do'stlaringiz bilan baham: |