معرفی xml
درس “معرفی XML” در SQL Server به بررسی مفهوم XML (eXtensible Markup Language) و کاربردهای آن در مدیریت دادهها میپردازد. این درس توضیح میدهد که XML بهعنوان یک استاندارد جهانی برای ساختاردهی و تبادل دادهها چگونه در SQL Server استفاده میشود و چه نقشی در ارائه دادههای سازمانیافته دارد. همچنین به تحلیل ویژگیهای کلیدی XML مانند سلسلهمراتب دادهها، تگهای سفارشی، و قابلیت انعطاف آن برای یکپارچهسازی دادهها در سیستمهای مختلف میپردازد. در این آموزش، متخصصان با نحوه تعامل SQL Server با XML آشنا میشوند و مبانی استفاده از این فرمت قدرتمند برای ذخیرهسازی و بازیابی دادهها را میآموزند. این درس، پایهای محکم برای یادگیری کاربردهای پیشرفته XML در پایگاه داده فراهم میکند.
قبل از اینکه بخواهیم وارد صحبت در مورد برخی از قابلیت های خاص مایکروسافت اس کیو ال سرور بشویم، اجازه بدهید اول یک صحبت کلی در مورد xml داشته باشیم.
Xml یک فرمت مبتنی بر متن هست که توسط انسان قابل خواندن و مشاهده هست و اغلب برای تبادل اطلاعات استفاده میشود.
اینجا یک نمونه از فرمت xml وجود دارد و الان دارید فرمت کدهای آنرا می بینید. دادهها توسط برچسبها یا تگهای توصیفی احاطه شده اند، مثلاً اینجا کلمه to یا from هر کدام یک تگ توصیفی محسوب میشوند و هر تگی که اینجا می بینید دو بار تکرار شده. به تگ اول مثلاً در کلمه note این بالا، تگ opening و به کلمه note در این پایین هم تگ closing میگویند. پس در xml ما همیشه یک جفت از هر نوع تگ رو خواهیم دید. هر کدام از تگ ها با یک جفت علامت بزرگتر و کوچکتر ریاضی جدا میشوند، مثل چیزی که الان اینجا، سمت چپ و راست کلمه note یا to می بینید. پس در xml هر تگی بین دو علامت بزرگتر و کوچکتر تعریف میشود.
xml دارای 2 راه اصلی ارائه اطلاعات است. یکی از این راهها attributes و دیگری elements نامیده میشود.
اینجا یک مثال از نحوه ارائه اطلاعات به روش xml attributes رو مشاهده می کنیم که در آن اطلاعاتی شبیه اسم john و نام خانوادگی Smith در داخل تگ person وجود دارند. خب، اگر به این نحوه ارائه اطلاعات یعنی روش attributes دقت کنید، مشاهده خواهید کرد که تگ person برای معرفی مشخصات نام و نام خانوادگی می تواند مورد استفاده قرار بگیرد. در داخل تگ person ما attributes ها یا ویژگی هایی شبیه به نام اشخاص را مشاهده می کنیم. مثل همین firstname که بعد از تگ person میبینیم. بعد از اون علامت مساوی و سپس در جفت کوتیشن مقدار مد نظر ما برای تعریف ویژگی یا attributes از نوع firstname رو باید قرار بدهیم که ما در اینجا، john، رو در نظر گرفتیم که در این روش یعنی attributes ما در یک تگ، مثلاً در این تگ person می توانیم چندین ویژگی مختلف یا چندین attributes مختلف رو تعریف کنیم. پس یادتان بماند، در یک تگ ما میتوانیم چندین ویژگی داشته باشیم که همانطور که مشاهده می کنید در ادامه ویژگی بعدی یعنی lastname رو با مقدار smith بعد از گذاشتن مساوی و یک جفت کوتیشن تعریف کردهایم.
راه دیگر برای ارائه اطلاعات و بعنوان مثال نمایش همین اطلاعات استفاده از elements بمعنی فارسی عناصر هست، که در این روش داده در خارج از تگ قرار می گیرد و معمولاً هر قطعه داده که در روش قبلی ما اونها رو ویژگی های تگ تعریف کردیم در این روش هر کدامشان، تگ مخصوص به خودشان را دارند. بنابراین اگر چه در روش ما در تگ اصلی person مقادیر firstname و lastname رو تعریف کردیم، ولی می بینیم که در اینجا یعنی روش elements، برای داده جان تگ خود این داده رو با نام firstname ایجاد کردیم. همینطور اگر دقت کنید داده نام خانوادگی همین شخص رو هم با نام smith در تگ مجزای lastname تعریف کردهایم و دقیقاً مثل اول همین آموزش که به توضیح ساختار یک کد xml پرداختیم، هر تگ با یک جفت opening و closing تعریف شده و هر تگ یک علامت کوچکتر و بزرگتر ریاضی هم دارد. پس ما اینجا در روش elements سه تگ در این کدمان می بینیم. یکی تگ اصلی person که منظور آن این است ما قصد داریم یک شخص رو معرفی کنیم. یکی تگ firstname برای معرفی نام شخص یا همان person با مقدار john و دیگری هم تگ lastname برای معرفی نام خانوادگی شخصمان یا همان person با مقدار smith. Elements و attributes هر دو مفید هستند و در بسیاری از موارد قابل تعویض هم هستند. پس بهتر است با هر دو این روش ها برای معرفی اطلاعات یک کد xml آشنایی داشته باشیم. اغلب یک اولویت قوی و یک نوع پافشاری در اینکه از کدام روش برای معرفی کدهای xml استفاده کنیم وجود ندارد؛ اما اگر شما یک اولویت داشته باشید و معمولاً از یکی از این دو روشی که گفتم استفاده کنید، بهتر است، چون در استفاده با اون روش راحت تر خواهید بود و یک جورایی میشود گفت در کد نویسی xml دستتان روان میشود، ولی این را بدانید که مایکروسافت اس کیو ال سرور وظایف کاری خوبی رو با attributes و Elements انجام میدهد و در ادامه مشاهده میکنید که با استفاده از یک کد xml چه job ها یا عملکردهای متنوعی رو میتوانیم تعریف کنیم.