Кіріспе

Деректер қорында сақталған сұраныс нәтижесі жиынтығы

Деректер қорында көрініс – сақталған сұраныс нәтижесінің жиынтығы болып табылады, оны тұрақты деректер қоры жиынтығының объектісі сияқты сұрауға болады. Бұл алдын ала белгіленген сұрау командасы деректер сөздігінде сақталады. Реляциялық деректер қорындағы базалық кестелерден айырмашылығы, көрініс физикалық схеманың бөлігі емес: нәтижесінде, ол виртуалды кесте болып табылады. Көріністер бірнеше кестені біріктіріп, оларды бір виртуалды кестеге айналдыра алады. Көріністер жиынтықталған кестелер ретінде де жұмыс істей алады, онда деректер базасы деректерді жиынтықтап (қосынды, орташа есеп және т.б.) есептелген нәтижелерді деректің бөлігі ретінде ұсынады. Көріністер деректердің күрделілігін жасыра алады. Мысалы, көрініс Sales2020 немесе Sales2021 түрінде көрсетілуі мүмкін, бұл нақты негізгі кестенің бөліктерін ажыратуды жеңілдетеді. Көріністерді сақтау үшін аз орын қажет; деректер қорында көріністің анықтамасы ғана сақталады, оның ұсынатын деректердің көшірмесі емес. Деректерді пайдаланушылардың санатына сәйкес, табиғи және интуитивті форматта құрылымдайды. Функция (бағдарламалауда) абстракцияны қамтамасыз ететіндей, деректер қорының көрінісі де солай. Функциялармен салыстыратын болсақ, деректер қорының пайдаланушылары ұялы көріністерді пайдалана алады, яғни бір көрініс басқа көріністерден деректерді жинақтауы мүмкін. Көріністерді пайдаланбаған жағдайда, деректер базасын екінші нормалық формадан жоғары денормализациялау қиынға соғады. Көріністер жоғалтусыз біріктіруді ыдыратуды жеңілдетеді. Базалық кестедегі қатарлардың реті анықталмағандай, көрініс арқылы қол жетімді қатарлар да әдепкі бойынша сұрыпталмайды. Көрініс – реляциялық кесте, ал реляциялық модель кестені қатарлар жиынтығы ретінде анықтайды. Жинақтар анықтама бойынша реттелмегендіктен, көріністің қатарлары да реттелмейді. Сондықтан, көрініс анықтамасындағы ORDER BY операторының мәні жоқ; SQL стандарты (SQL:2003) CREATE VIEW командасының ішкі сұранысында ORDER BY операторын рұқсат етпейді, осылайша CREATE TABLE операторында да рұқсат етілмейді. Дегенмен, сұрыпталған деректерді көрістен, кез келген басқа кесте сияқты, осы көріністегі сұраныс операторының бөлігі ретінде алуға болады. Бірақ, кейбір ДСҚЖ (мысалы, Oracle Database) бұл SQL стандартының шектеуін сақтамайды.

Тек оқу үшін және жаңартуға болатын көріністер

Көріністер тек оқуға арналған немесе жаңартылатын ретінде анықталуы мүмкін. Егер деректер базасы жүйесі көрініс схемасынан негізгі кестелердің схемасына кері байланысты анықтай алса, онда көрініс жаңартылатын болады. INSERT, UPDATE және DELETE операцияларын жаңартылатын көріністерде орындауға болады. Тек оқуға арналған көріністер мұндай операцияларды қолдамайды, себебі ДБЖ өзгерістерді негізгі кестелермен сәйкестендіре алмайды. Көріністі жаңарту кілтті сақтау арқылы жүзеге асырылады. Кейбір жүйелер көріністер үшін INSTEAD OF триггерлерін анықтауды қолдайды. Бұл техника көріністе енгізу, жаңарту немесе жою операциясы орнына басқа логиканы орындауға мүмкіндік береді. Осылайша деректер базасы жүйелері тек оқуға арналған көріністерге негізделген деректерді өзгертуді іске асыра алады. Алайда, INSTEAD OF триггері көріністің тек оқуға арналған немесе жаңартылатын қасиетін өзгертпейді.

Материалдық көзқарастар

Әртүрлі деректер қорын басқару жүйелері деректердің тек оқуға арналған жиынтықтарынан, әсіресе материалдық көріністерден кеңейтілді: алдын ала орындалған, виртуалды емес көріністер, олар көбінесе деректер қоймасында қолданылады. Олар деректердің статикалық суретін береді және қашықтан алынған деректерді де қамтуы мүмкін. Материалдық көріністің дәлдігі оны жаңартудың артындағы триггерлік механизмдердің жиілігіне байланысты. Материалдық көріністерді Oracle Database енгізді, ал IBM Db2 осы мақсат үшін «материалдық сұраныс кестелерін» (MQT) ұсынады. Microsoft SQL Server 2000 нұсқасында кестеден бөлек индексті ғана сақтайтын, бірақ толық деректерді емес, индекстелген көріністерді енгізді. PostgreSQL 9.3 нұсқасында материалдық көріністерді жүзеге асырды.