سبد (0)

تبلیغات

File Table چیست؟

آموزش پیشرفته SQL Server (جلسه سوم) - آشنایی با File Table

آشنایی با File Table، قسمتی از آموزش پیشرفته SQL Server است، پیشنهاد می شود قبل از مطالعه ی آشنایی با File Table، قسمت های قبلی را مطالعه فرمایید.


File Tableچیست؟

هدف: یکپارچه کردن Database Engine با NTFS می باشد.

با استفاده از ترکیب FileStream و نوع داده Hierarchyid برای پیاده سازی ساختار پدر و فرزندی در File Table کمک زیادی به طراحی یک ساختار سلسله مراتبی نموده است. ساختار جدول مربوط به File Table از قبل تعریف شده است و ما قادر به تعریف و تغییر فیلدهای جدول آن نمی باشیم. برای دیدن ساختار کلی این جدول و فیلدهای مربوط به آن به آدرس https://msdn.microsoft.com/en-us/library/gg492084.aspx رجوع نمایید. در ادامه به بیان فیلدهای جدول می پردازیم.


 ساختار جدول File Table

جدول File Table از فیلدهای زیر تشکیل شده است:

  • path_locator: از نوع داده Hirarchyid بوده به صورت سلسله مراتبی مکان فایل را نشان می دهد.
  • stream_id: از نوع uniqueidentifier بوده و شناسه فایل می باشد.
  • file_stream: از نوع داده FileStream بوده و برای نگهداری فایل مورد استفاده قرار می گیرد.
  • file_type: برای تعریف نوع فایل بکار رفته و از نوع رشته ای می باشد.
  • Name: نام فایل یا پوشه را نگهداری می کند.
  • parent_path_locator: نام پوشه بالادستی (والد) را بیان می کند.
  • cached_file_size: اندازه فایل موجود در FileStream را بر حسب بایت بیان می کند.
  • creation_time: زمان ایجاد و ثبت رکورد را نشان می دهد.
  • last_write_time: زمان آخرین تغییر و بازنویسی را نگهداری می نماید.
  • last_access_time: بیانگر زمان آخرین دسترسی به محتویات رکورد می باشد.
  • is_directory: لین ستون بطور اتوماتیک پر شده و بیانگر این است که محتویات رکورد یک پوشه در ساختار سلسله مراتبی است یا یک برگ (فایل) می باشد.
  • is_offline: بیانگر ویژگی آفلاین بودن فایل می باشد.
  • is_hidden: بیانگر ویژگی مخفی بودن فایل می باشد.
  • is_readonly: بیانگر ویژگی فقط خواندنی بودن فایل می باشد.
  • is_archive: بیانگر ویژگی آرشیو بودن فایل می باشد.
  • is_system: بیانگر ویژگی سیستمی بودن فایل می باشد.
  • is_temporary: بیانگر ویژگی موقت بودن فایل می باشد.

مزایای  استفاده از File Table:

  • امکان استفاده از مکانیسم Transaction
  • کاهش حجم Log File
  • عدم استفاده از Buffer Pool برای BLOB
  • سهولت در تهیه نسخه پشتیبان
  • ذخیره داده ها به اندازه حجم NTFS
  • امکان دسترسی به File Table بدون واسطه

نحوه ایجاد File Table

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

آشنایی با File Table

-- If the 'NorthPole' exists, drop it
IF DB_ID('NorthPole') IS NOT NULL BEGIN
DROP DATABASE NorthPole;
END -- Create NorthPole database
CREATE DATABASE NorthPole ON
PRIMARY (
NAME = NorthPole,
FILENAME = 'C:\ArtOfFS\Demos\Chapter11\NorthPole.mdf'
), FILEGROUP NorthPole_fs CONTAINS FILESTREAM(
NAME = NorthPole_fs,
FILENAME = 'C:\ArtOfFS\Demos\Chapter11\NorthPole_fs' )
LOG ON (
NAME = NorthPole_log,
FILENAME = 'C:\ArtOfFS\Demos\Chapter11\NorthPole_log.ldf') -- Configure non-transactional access
ALTER DATABASE NorthPole SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL) -- Configure the root folder
ALTER DATABASE NorthPole SET FILESTREAM (DIRECTORY_NAME = 'NorthPole')

در گام بعدی اقدام به ساخت جدول می کنیم:

آشنایی با File Table

CREATE TABLE Documents AS FILETABLE
WITH (FILETABLE_DIRECTORY = 'NorthPole Documents')

حال برای درج در این جدول کافیست طبق دستور زیر عمل نماییم:

آشنایی با File Table

INSERT INTO Documents ([name], file_stream)
VALUES ('ReadMe.txt', 0x)

در ادامه بحث آشنایی با File Tableخواهید دید ...!

1-آشنایی کامل با File Table 

2- آموزش جامع نحوه انجام تنظیمات پایگاه داده و ویندوز سرور برای استفاده از File Table


دسترسی به موارد آموزشی بالا در بسته خریداری شده

  • شماره جلسه: 3
  • نام فایل ویدئو: 01
  • فرمت فایل: mp4.

نقطه شروع بحث بالا (آشنایی با File Table) در ویدئو:  00:30


برای خرید و دانلود کامل آموزش پیشرفته SQL Server کلیک کنید.

دیدگاه‌ها  

+1 # فرید حسنی 1394-08-11 18:49
من با ایجاد File Tableرول های ذخیره سازی ،بازیابی ،حذف و ویرایش مشکلی ندارم و لی مشکلی هشت جدول File Table قابیت ایجاد فیلد را ندارد در نتیجه به فزض شما به عنوان مثال عکس یک فرد را ذخیره ولی نتوانید با کلید خارجی به جدول مشتریان منسب کنید عملاً آن نمی توانید از آن استفاده کنید.
من خیلی در سایت جسجو کردم ولی به نتیجه نرسیدم
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # Guest 1395-08-17 08:35
سلام این فیلد رو تو "stream_id" به جدول پرسنلت اضافه کن همیش به اون فایل دسترسی داری
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # مهرداد صلاحی 1394-08-11 20:43
سلام دوست عزیز.
سؤالتون خیلی روشن نیست. معمولا تو دیتابیس‌هایی که با کاربر سر و کار داره، یه جدول مخصوص کاربران وجود داره و هر جدول هم که به موجودیتی اشاره می‌کنه، باید یه فیلد به عنوان کلید اصلی داشته باشه. این فیلد معمولا از جنس عدد و به صورت Auto Increment هست. برای ذخیره‌ی عکس، کافیه یه پوشه‌ی مخصوص این کار ایجاد کنید و هر وقت کاربری اقدام به ذخیره‌ی فایل یا عکسی میکنه، بر اساس اون کلید اصلی که مختص کاربر است، می‌تونید فایلهاشو ذخیره و سازماندهی کنید.
این شیوه خیلی مرسوم هست. نیازی به ذخیره‌ی حجیم اطلاعات در دیتابیس هم نیست.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+1 # فرید حسنی 1394-08-17 05:25
سلام ممنونم از پاسخ شما برای مثال شما برنامه برای یک شرکت تولیدی با 2000 کارمند تولید می کنید
در آن برنامه مدارک شناسایی کارمندان مانند کارت ملی ،شناسنامه، مدرک تحصیلی و سوابق آموزشی اسکن و ذخیره می شود
در ساده ترین حالت شما یک تیبل برای نگهداری مشخصات کارمندان مانند کد ملی ،نام و ونام خانوادگی ،تاریخ تولد و . . . و یک تیبل از نوع File Table نیاز دارید به نظر شما بایستی 2000 قولدر ایجاد شود که به نظر منطقی نمی آید
با تشکر
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی