دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
Class Library در سی شارپ
1404/01/10 -
دستور BREAK در پایگاه داده sql
1404/01/02 -
دستور CONTINUE در پایگاه داده SQL
1404/01/01 -
دستور WAITFOR در پایگاه داده SQL
1403/12/26 -
دستور GOTO در پایگاه داده SQL
1403/12/25 -
حلقه WHILE در پایگاه داده SQL
1403/12/24
انواع جداول در پایگاه داده اوراکل

انواع جداول در پایگاه داده اوراکل
پایگاه داده اوراکل یکی از سیستمهای مدیریت پایگاه داده رابطهای است که امکانات پیشرفتهای برای ذخیرهسازی، مدیریت، و بازیابی دادهها ارائه میدهد.
در این پایگاه داده، جداول بهعنوان ساختار اصلی ذخیرهسازی اطلاعات استفاده میشوند.
انواع مختلف جداول در اوراکل وجود دارند که هرکدام برای کاربردهای خاصی طراحی شدهاند.
این جداول ممکن است به نحوه ذخیرهسازی دادهها، مدیریت کارایی، و نحوه دسترسی به اطلاعات بستگی داشته باشند.
در این مقاله به بررسی انواع جداول در اوراکل، با تمرکز ویژه بر جداول موقت و جداول خارجی (External) خواهیم پرداخت و هر کدام را با مثالهای کاربردی توضیح خواهیم داد.
جداول موقت در پایگاه داده اوراکل (Temporary Tables)
جداول موقت در اوراکل برای ذخیرهسازی دادههای موقتی که فقط در طول یک جلسه یا تراکنش خاص مورد نیاز هستند، طراحی شدهاند.
این جداول به طور معمول برای کارهایی مانند ذخیرهسازی نتایج موقت پردازشهای پیچیده یا بهبود عملکرد در پردازش دادههای موقتی استفاده میشوند.
دادهها در این جداول فقط برای مدت زمان جلسه یا تراکنش موجود در پایگاه داده نگهداری میشوند.
ویژگیهای جداول موقت
دادههای داخل جداول موقت تنها در طول جلسه یا تراکنش باقی میمانند.
در پایان هر تراکنش یا جلسه، دادهها بهطور خودکار حذف میشوند.
استفاده از این جداول برای ذخیرهسازی دادههای موقتی مانند نتایج موقتی محاسبات مفید است.
مثال کاربردی:
CREATE GLOBAL TEMPORARY TABLE temp_sales (
sale_id INT,
sale_date DATE,
amount DECIMAL(10, 2)
) ON COMMIT DELETE ROWS;
در این مثال، جدول temp_sales برای ذخیرهسازی اطلاعات موقت مربوط به فروش ایجاد شده است.
کلمه کلیدی ON COMMIT DELETE ROWS بیان میکند که دادهها پس از هر تراکنش پاک خواهند شد.
برای یادگیری حرفه ای مبحث انواع جداول در پایگاه داده اوراکل میتونید در دوره پروژه پایگاه داده اوراکل ما شرکت کنید تا یک تجربه عالی از یادگیری داشته باشید.
انواع جداول موقت در اوراکل
-
Global Temporary Table
این نوع جدول دادهها را برای تمامی کاربران (جلسات) ذخیره میکند.
دادهها فقط برای هر کاربر خاص در دسترس است و پس از پایان جلسه حذف میشود. -
Private Temporary Table
این نوع جدول در جلسات خاص ذخیره میشود و دادهها به طور انحصاری برای همان جلسه قابل دسترسی هستند.

جداول خارجی (External Tables) در اوراکل
جداول خارجی در اوراکل به جداولی گفته میشود که دادههای آنها از منابع خارجی مانند فایلهای متنی، CSV، XML یا حتی پایگاههای داده دیگر خوانده میشوند.
این جداول به شما اجازه میدهند که بدون نیاز به وارد کردن دادهها به پایگاه داده اوراکل، از آنها در کوئریها استفاده کنید.
ویژگیها و مزایای External Tables
-
دسترسی مستقیم به فایلهای خارجی
بدون نیاز به وارد کردن دادهها به داخل پایگاه داده، میتوانید به دادههای موجود در فایلهای خارجی دسترسی داشته باشید. -
پشتیبانی از فرمتهای مختلف
اوراکل از فایلهای متنی مانند CSV و فایلهای با فرمتهای دلخواه که توسط کاربر تعریف میشوند، پشتیبانی میکند. -
افزایش کارایی
این جداول امکان انجام عملیات خواندن دادهها را بدون صرف منابع زیاد برای ذخیرهسازی داخلی فراهم میکنند. -
سادهسازی ETL
در فرآیندهای ETL (استخراج، تبدیل و بارگذاری)، جدولهای خارجی میتوانند به سادگی به عنوان منبع دادهها استفاده شوند.
محدودیتها جدول خارجی در oracle
-
نوشتن دادهها
جداول خارجی فقط قابلیت خواندن دارند، به این معنا که نمیتوان بهطور مستقیم دادهها را در آنها نوشت یا بهروزرسانی کرد. -
وابستگی به فایل سیستم
عملکرد جداول خارجی به فایلهای موجود در سیستم فایل وابسته است، بنابراین در صورت دسترسی نداشتن به این فایلها، جداول خارجی نیز غیرفعال میشوند.
نحوه ایجاد یک External Table
برای ایجاد یک جدول خارجی، باید مراحل زیر را دنبال کنید:
-
تعریف مکان فایل
ابتدا باید مکان فایل خارجی را با استفاده از یک دایرکتوری (Directory) تعریف کنید:
CREATE DIRECTORY ext_table_dir AS '/path/to/your/file';
-
ایجاد External Table
سپس میتوانید جدول خارجی را ایجاد کنید و مشخص کنید که دادهها از کجا و با چه فرمتی باید خوانده شوند:
CREATE TABLE external_employees ( emp_id NUMBER, first_name VARCHAR2(50), last_name VARCHAR2(50), hire_date DATE ) ORGANIZATION EXTERNAL ( TYPE ORACLE_LOADER DEFAULT DIRECTORY ext_table_dir ACCESS PARAMETERS ( RECORDS DELIMITED BY NEWLINE FIELDS TERMINATED BY ',' MISSING FIELD VALUES ARE NULL ) LOCATION ('employees.csv') ) REJECT LIMIT UNLIMITED;
توضیحات:
-
ORGANIZATION EXTERNAL
مشخص میکند که این جدول از نوع خارجی است. -
TYPE ORACLE_LOADER
نوع لودر برای خواندن دادهها از فایلها. -
DEFAULT DIRECTORY
دایرکتوری که فایل در آن قرار دارد. -
ACCESS PARAMETERS
پارامترهای دسترسی که چگونگی پردازش دادهها در فایل خارجی را تعریف میکند. -
LOCATION
نام فایل خارجی که دادهها از آن خوانده میشوند.
مثال کاربردی:
CREATE TABLE sales_external (
sale_id INT,
sale_date DATE,
amount DECIMAL(10, 2)
)
ORGANIZATION EXTERNAL (
TYPE ORACLE_LOADER
DEFAULT DIRECTORY data_dir
ACCESS PARAMETERS (
RECORDS DELIMITED BY NEWLINE
FIELDS TERMINATED BY ','
MISSING FIELD VALUES ARE NULL
)
LOCATION ('sales_data.csv')
);
در این مثال، جدول sales_external به دادههای موجود در فایل sales_data.csv اشاره میکند.
با استفاده از گزینه ORGANIZATION EXTERNAL، این جدول دادهها را از فایل CSV میخواند و از آنها در کوئریها استفاده میکند.
کاربردهای جداول خارجی در پایگاه داده اوراکل
-
انتقال دادههای بزرگ
هنگام کار با دادههای بسیار بزرگ که بهروزرسانی مکرر نیاز دارند. -
مشارکت دادهها
به اشتراکگذاری دادههای خارجی بین چندین سیستم بدون نیاز به کپی کردن آنها. -
تست و توسعه
برای توسعهدهندگان و تیمهای تست که به سرعت نیاز به دسترسی به مجموعههای داده دارند بدون نیاز به وارد کردن دادهها به پایگاه داده.
بهطور خلاصه، External Table در اوراکل ابزاری قدرتمند است که برای دسترسی آسان و کارآمد به دادههای خارجی استفاده میشود، به ویژه در سناریوهایی که نیاز به پردازش و تحلیل دادهها بدون وارد کردن مستقیم آنها به پایگاه داده است
جداول عادی (Normal Tables)
این نوع جداول در اوراکل دادهها را به صورت منظم در ردیفها و ستونها ذخیره میکنند.
جداول عادی رایجترین نوع جداول در پایگاههای داده رابطهای هستند و دادهها بهطور دائم در آنها ذخیره میشود.
مثال کاربردی:
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
hire_date DATE
);
در این مثال، جدول employees برای ذخیرهسازی اطلاعات کارکنان از جمله شناسه، نام، نام خانوادگی و تاریخ استخدام استفاده میشود.
جداول پارتیشنبندیشده (Partitioned Tables)
جداول پارتیشنبندیشده به شما این امکان را میدهند که دادههای یک جدول را به قسمتهای مختلف تقسیم کنید.
هر پارتیشن بهطور مستقل قابل دسترسی است، که این امر بهویژه در مواقعی که حجم دادهها زیاد است، عملکرد را بهبود میبخشد.
انواع پارتیشنبندی
-
Range Partitioning
دادهها بر اساس یک محدوده (مثلاً تاریخ یا شناسه) تقسیم میشوند. -
List Partitioning
دادهها بر اساس لیستی از مقادیر مشخص تقسیم میشوند. -
Hash Partitioning
دادهها بر اساس یک الگوریتم هش تقسیم میشوند.
مثال کاربردی:
CREATE TABLE sales ( sale_id INT, sale_date DATE, amount DECIMAL(10, 2) ) PARTITION BY RANGE (sale_date) ( PARTITION p2021 VALUES LESS THAN (TO_DATE('01-JAN-2022', 'DD-MON-YYYY')), PARTITION p2022 VALUES LESS THAN (TO_DATE('01-JAN-2023', 'DD-MON-YYYY')) );
در این مثال، جدول sales بر اساس تاریخ فروش به دو پارتیشن تقسیم شده است. این کار باعث میشود که دسترسی به دادهها برای سالهای مختلف بهینهتر باشد.
جداول خوشهای (Clustered Tables)
در جداول خوشهای، دادههای چندین جدول مرتبط با هم بهطور فیزیکی در کنار یکدیگر ذخیره میشوند.
این کار باعث افزایش کارایی در جستجوهای پیچیده میشود که در آنها نیاز به دسترسی به دادههای چندین جدول بهطور همزمان است.
مثال کاربردی:
CREATE CLUSTER emp_dept_cluster (department_id INT);
در این مثال، یک خوشه با استفاده از شناسه بخش (department_id) ایجاد شده است. این خوشه دادههای مربوط به کارمندان و بخشها را بهطور فیزیکی کنار یکدیگر ذخیره میکند.
جداول مادی (Materialized Views) در پایگاه داده اورکل
جداول مادی بهطور فیزیکی دادهها را ذخیره میکنند که معمولاً نتایج پرسوجوها هستند.
این جداول بهویژه در مواقعی که دادهها نیاز به محاسبههای پیچیده دارند و زمان محاسبه طولانی است، استفاده میشوند.
به کمک جداول مادی میتوان دادهها را ذخیره کرده و از انجام محاسبات مکرر جلوگیری کرد.
مثال کاربردی:
CREATE MATERIALIZED VIEW sales_summary AS
SELECT department_id, SUM(amount) AS total_sales
FROM sales
GROUP BY department_id;
در این مثال، جدول مادی sales_summary خلاصهای از فروشها بر اساس بخشها را ذخیره میکند تا نیاز به محاسبات مجدد در هر بار درخواست نباشد.
انواع جداول در پایگاه داده اوراکل مورد بررسی قرار گرفت. هر نوع جدول ویژگیها و کاربردهای خاص خود را دارد که برای نیازهای مختلف طراحی شده است.
جداول موقت، جداول خارجی، جداول پارتیشنبندیشده، جداول خوشهای و جداول مادی همه ابزارهایی هستند که در اوراکل برای مدیریت دادهها بهطور بهینه مورد استفاده قرار میگیرند.
انتخاب نوع جدول به نیازهای خاص سیستم و نوع دادهها بستگی دارد.
دوره های مرتبط

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