2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 11:21 


27/10/11
228
Здравствуйте, Вы не могли бы проверить, верно ли я ответил на следующие два вопроса

1) Какое максимальное число ключей может иметь схема с N атрибутами ?
--------- я думаю, что ответ N! Так как с схеме $R(A_1,A_2,\dots.A_N)$
есть N различных атрибутов, и каждый из них может быть ключом, но и каждая комбинация их N атрибутов может быть ключом, посему мы получаем факториал от количества столбцов в таблице(количества атрибутов в схеме)


2) Дана схема с N атрибутами и точно известно ,что в этой схеме есть ровно 1 ключ. Определить сколько суперключей может быть в схеме, объяснить почему.

------------ мне кажется, что ответ будет (N-1)!, т.к. в этом случае мы фиксируем один атрибут в качестве ключа, после чего у нас остаётся N-1 атрибут, и посему у нас есть ещё N-1 атрибут для составления суперключа из первого атрибута ( т.е. мы можем приписать к первому атрибуту ещё N-1 атрибут) Причём например
в нашеё схеме
$R(A_1,A_2,\dots.A_N)
$
$A_1$ это ключ, тогде, мы можем приписать N-1 комбинацию из оставшихся атриюутов, чтобы получить суперключ, "длиной" два, дальше, мы можем приписать третий атрибут ( и таких компинаций будет N-2) и так далее до последнего $A_N$ атрибута

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 11:53 
Заслуженный участник


08/04/08
8562
Я сам не знаю, потому спрошу: под ключом понимается ключ по одному атрибуту, а под суперключом - ключ по нескольким атрибутам?
И, видимо, в задаче спрашивается не о числе ключей, а о числе возможностей построения ключа.
Если так, то в 2 можно ли данный ключ дополнять? Если да, то правильно, если нет, то $(N-2)!$.

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 12:08 


27/10/11
228

(Оффтоп)

Суперключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованию уникальности: не существует двух кортежей данного отношения, в которых значения этого подмножества атрибутов совпадают (равны).
Суперключ отличается от потенциального ключа тем, что на суперключ не накладывается требование минимальности, или несократимости (это требование означает, что в составе ключа отсутствует меньшее подмножество атрибутов, удовлетворяющее условию уникальности). Вследствие этого в состав суперключа может входить другой, более «компактный» по количеству атрибутов суперключ.
Таким образом, потенциальный ключ может быть определён как суперключ, обладающий свойством минимальности (несократимости).
Поскольку все кортежи в отношении по определению уникальны, в нём всегда существует хотя бы один суперключ (например, включающий все атрибуты отношения).

Но всё равно, ключём может быть совокупность атрибутов, например А1,А4,А9 могут однозначно определять кортеж в таблице, тогда для этого случая суперключём будет А1,А4,А9 +A2,A3,A5,A6,A7,A8,A10,....A_N
или даже просто А1,А4,А9,А12
Разве не так ?

Но тут в задании не написано чётко, что они хотят .
Хотя может быть при переводе задания я упустил смысл?
в оригинале оно звучало так:

1) What is the maximum number of keys that a schema with N attributes can have ?
2) F given schema has N atributes and exactly 1 key. How many superkeys are there in the schema ? Show why.

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 12:26 
Заслуженный участник


08/04/08
8562
Alexeybk5 в сообщении #533698 писал(а):
Суперключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованию уникальности: не существует двух кортежей данного отношения, в которых значения этого подмножества атрибутов совпадают (равны).
Угу, ладно, но нам-то не дано, какие там данные: они могут быть такими, что любой столбец дает уникальный ключ, а могут быть такими, что даже все столбцы не образуют уникальный ключ. Тогда 2 варианта: либо мы ищем уникальный ключ для любой структуры данных (и тогда ответ "нуль ключей"). Либо мы от этого требования абстрагируемся (как Вы это сделали) и получаем Ваш ответ. Как им конкретно надо - я не знаю.
Со вторым заданием, видимо, надо аналогично поступить :roll: :? Но во 2-м-то задании Вы как раз нашли минимальное число возможных ключей независимо от структуры данных (хотя нет, это только если ключ и суперключ - одно и то же).
А "ключ" тогда что такое?

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 12:29 


27/10/11
228
Ну это вопрос в тесте, на понимания этого понятия. По идее тут надо рассматривать общий случай, не зависящий от данных

Т.е. если абстрагироваться от уникального ключа для любой структуры данных, то мой ответ становится верным ?

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 12:31 
Заслуженный участник


08/04/08
8562
Alexeybk5 в сообщении #533703 писал(а):
абстрагироваться от уникального ключа
Ой, а это как?
Подождите, я вру: Вы же в 1-м задании ищете ключи, а не суперключи, а я еще не знаю, что такое "ключ". Тогда я может чушь написал.
Что такое "ключ"?

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 12:38 


27/10/11
228
Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости).

ну в принципе, ведь для обещго случая не так важная уникальность, тем более, когда они спрашивают какое максимальное число ключей может иметь схема с N атрибутами.
Она может иметь ключ состоящий из N атрибутов(ведь данные могут быть любыми)

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение01.02.2012, 13:03 
Заслуженный участник


08/04/08
8562
Alexeybk5 в сообщении #533706 писал(а):
Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости).
Т.е. ключ - это потенциальный ключ (странное название).
Ну тогда в 1 ответ нуль, а во 2-м все верно.
Alexeybk5 в сообщении #533706 писал(а):
ну в принципе, ведь для обещго случая не так важная уникальность, тем более, когда они спрашивают какое максимальное число ключей может иметь схема с N атрибутами.
Она может иметь ключ состоящий из N атрибутов(ведь данные могут быть любыми)
Ну вот и я говорю: для ответа $N!$ нам нужно абстрагироваться от того, какие в таблице могут быть данные.
В общем, вроде разобрались.

 Профиль  
                  
 
 Re: Количество ключей/суперключей в схеме, СУБД
Сообщение02.02.2012, 11:40 


28/05/08
284
Трантор
Sonic86 в сообщении #533710 писал(а):
В общем, вроде разобрались.

Извините, что вмешиваюсь, но, по-моему, только запутались (я-то уж точно :-) ). В первом вопросе спрашивают о максимально возможном количестве ключей. Ответ 0 на такой вопрос означает, вообще говоря, что ключей не существует в принципе нигде и никогда :-) Изначальный ответ ТС ($N!$) почти верен, если речь идет о суперключах (почти --- потому что суперключ --- это подмножество, оно не упорядочено, если следовать стандартным определениям из Дейта, и ответ, конечно, не факториал). Но, судя по всему, речь все-таки о потенциальных ключах, и эта задача не так проста. То есть если у нас каждый атрибут - пот. ключ, то никаких пот. ключей из двух атрибутов быть уже не может, например. Если у нас каждый из 2 атрибутов --- потенциальный ключ, то, теоретически, потенциальным ключом может быть любая пара из оставшихся $N-2$ атрибутов, и так далее. С ходу я тут не соображу, какой максимум. Во второй задаче все проще, только настораживает, что не задано количество атрибутов в потенциальном ключе. Если он состоит из одного атрибута, то рассуждения ТС верны (с поправкой на неупорядоченность), ну и ясно, какой будет ответ для ключа из $k$ атрибутов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group