آزمون اصول طراحی پایگاه داده
کدام یک از گزینههای زیر در مورد نرمالسازی صحیح است؟
نرمالسازی باعث کاهش افزونگی و بهبود یکپارچگی دادهها میشود
کدام یک از ویژگیهای ACID به این معنی است که تراکنشها باید به طور مستقل از یکدیگر اجرا شوند؟
کدام یک از دستورات زیر برای ایجاد یک شاخص (Index) روی ستون EmployeeID در جدول Employees استفاده میشود؟
CREATE INDEX idx_employee ON Employees (EmployeeID);
در طراحی پایگاه داده، کدام یک از موارد زیر بهترین تعریف برای "کلید خارجی" (Foreign Key) است؟
یک ستون که به کلید اصلی یک جدول دیگر اشاره میکند
یک ستون که به کلید اصلی یک جدول دیگر اشاره میکند
استفاده از EXPLAIN برای تحلیل پرسوجوها.
کدام یک از موارد زیر نقض فرم سوم نرمالسازی (3NF) است؟
وجود وابستگیهای تراگذری (Transitive Dependency).
کدام یک از دستورات زیر برای ایجاد یک تریگر (Trigger) که پس از درج رکورد جدید در جدول Orders اجرا میشود، صحیح است؟
CREATE TRIGGER after_order_insert AFTER INSERT ON Orders FOR EACH ROW BEGIN UPDATE Inventory SET Quantity = Quantity - NEW.Quantity WHERE ProductID = NEW.ProductID; END;
کدام یک از گزینههای زیر در مورد ROLLBACK صحیح است؟
ROLLBACK تغییرات انجامشده در تراکنش را لغو میکند.
کدام یک از گزینههای زیر در مورد شاخصهای ترکیبی (Composite Index) صحیح است؟
شاخصهای ترکیبی روی چندین ستون ایجاد میشوند و ترتیب ستونها مهم است
کدام یک از موارد زیر بهترین روش برای مدیریت رابطههای چند به چند (Many-to-Many) در پایگاه داده است؟
استفاده از یک جدول واسط (Junction Table).
کدام یک از گزینههای زیر در مورد فرم چهارم نرمالسازی (4NF) صحیح است؟
گزینه ۱: فرم چهارم نرمالسازی نیاز به حذف وابستگیهای چندمقداری (Multivalued Dependencies) دارد.
کدام یک از گزینههای زیر در مورد SAVEPOINT در تراکنشها صحیح است؟
SAVEPOINT امکان بازگشت به یک نقطه خاص در تراکنش را فراهم میکند.
کدام یک از دستورات زیر برای ایجاد یک VIEW که شامل نام کارمندان و نام بخشهای آنها است، صحیح است؟
CREATE VIEW EmployeeDepartment AS SELECT Employees.Name, Departments.DepartmentName FROM Employees JOIN Departments ON Employees.DepartmentID = Departments.DepartmentID;
کدام یک از گزینههای زیر برای بهبود عملکرد پرسوجوهای JOIN توصیه میشود؟
استفاده از شاخصها روی ستونهای مرتبط با JOIN.
کدام یک از گزینههای زیر در مورد کلید اصلی (Primary Key) صحیح است؟
کلید اصلی باید منحصر به فرد و غیر NULL باشد.
کدام یک از دستورات زیر برای حذف یک TRIGGER به نام after_order_insert صحیح است؟
DELETE FROM TRIGGERS WHERE name = 'after_order_insert';
کدام یک از گزینههای زیر در مورد DEADLOCK صحیح است؟
DEADLOCK زمانی رخ میدهد که دو تراکنش منتظر یکدیگر باشند و هیچکدام نتوانند ادامه دهند.
کدام یک از گزینههای زیر در مورد شاخصهای UNIQUE صحیح است؟
شاخصهای UNIQUE از وجود مقادیر تکراری در ستون جلوگیری میکنند.
کدام یک از گزینههای زیر در مورد رابطههای بازگشتی (Recursive Relationships) صحیح است؟
رابطههای بازگشتی زمانی رخ میدهند که یک جدول به خودش ارجاع دهد
کدام یک از دستورات زیر برای ایجاد یک STORED PROCEDURE که حقوق کارمندان را ۱۰٪ افزایش میدهد، صحیح است؟
CREATE PROCEDURE IncreaseSalary AS BEGIN UPDATE Employees SET Salary = Salary * 1.10; END;
کدام یک از گزینههای زیر در مورد فرم پنجم نرمالسازی (5NF) صحیح است؟
فرم پنجم نرمالسازی نیاز به حذف وابستگیهای ترکیبی (Join Dependencies) دارد.
کدام یک از گزینههای زیر در مورد ISOLATION LEVEL در تراکنشها صحیح است؟
کدام یک از دستورات زیر برای محاسبه میانگین حقوق کارمندان در هر بخش و نمایش فقط بخشهایی که میانگین حقوق آنها بیشتر از ۵۰۰۰ است، صحیح است؟
SELECT DepartmentID, AVG(Salary) AS AvgSalary FROM Employees GROUP BY DepartmentID HAVING AVG(Salary) > 5000;
کدام یک از گزینههای زیر برای بهبود عملکرد پرسوجوهای GROUP BY توصیه میشود؟
استفاده از شاخصها روی ستونهای مورد استفاده در GROUP BY.
کدام یک از گزینههای زیر در مورد پایگاهدادههای توزیعشده صحیح است؟
در پایگاهدادههای توزیعشده، دادهها روی چندین سرور ذخیره میشوند
کدام یک از دستورات زیر برای ایجاد یک FUNCTION که سن کارمند را بر اساس تاریخ تولد محاسبه میکند، صحیح است؟
CREATE FUNCTION CalculateAge(@BirthDate DATE) RETURNS INT BEGIN RETURN YEAR(GETDATE()) - YEAR(@BirthDate); END;
کدام یک از گزینههای زیر در مورد Two-Phase Commit صحیح است؟
Two-Phase Commit برای مدیریت تراکنشها در پایگاهدادههای توزیعشده استفاده میشود.
کدام یک از گزینههای زیر در مورد شاخصهای Covering Index صحیح است؟
شاخصهای Covering Index شامل تمام ستونهای مورد نیاز برای پاسخ به یک پرسوجو هستند.
کدام یک از گزینههای زیر در مورد Denormalization صحیح است؟
کدام یک از دستورات زیر برای ایجاد یک TRIGGER که پس از حذف رکورد از جدول Orders، رکورد مربوطه را در جدول OrderArchive ذخیره میکند، صحیح است؟
CREATE TRIGGER archive_order AFTER DELETE ON Orders FOR EACH ROW BEGIN INSERT INTO OrderArchive (OrderID, CustomerID, OrderDate) VALUES (OLD.OrderID, OLD.CustomerID, OLD.OrderDate); END;