Таблица БД «Реки мира» содержит следующие поля: название, материк, длина (в км), максимальная глубина (в м), куда впадает, наличие

Постоянный пользователь нашего ресурса написал нам почту в 4:33 с просьбой предоставить развернутый ответ на его вопрос. Наши эксперты отнесли этот вопрос к разделу Разное. Для ответа был привлечен один из опытных специалистов, который занимается написанием студенческих работ.

Цитируем вопрос ваш вопрос

Таблица БД «Реки мира» содержит следующие поля: название, материк, длина (в км), максимальная глубина (в м), куда впадает, наличие

Разбор вопроса и ответ на него

Раздел 'Разное', к которому был отнесён этот вопрос является не простой рубрикой. Для подготовки ответа на вопросы из этой рубрики специалист должен обладать широкими познаниями в различных научных областях. Однако в нашей компании таковые имеются.

Вы спрашивали:

Таблица БД «Реки мира» содержит следующие поля: название, материк, длина (в км), максимальная глубина (в м), куда впадает, наличие

Конечно этот ответ может полностью не раскрыть тему вопроса, но мы постарались сделать его максимально полным. Предлагаем ознакомиться с мнением эксперта по этой теме:

"Реки мира"

 НазваниеМатерик  Длина (в км) Максимальная глубина (в м) Куда впадает Наличие водохранилищ(имеются или нет)

Поля "Название", "Материк", "Куда впадает" - это символьный тип.

Поля "Длина (в км)" и "Максимальная глубина (в м)" - это числовой тип.

Поле "Наличие водохранилищ (имеются или нет)" - это логический тип. 

Первичный ключ таблицы - поле "Название".

материк: так же типа varchar здесь достаточно длины 50 символов (50 взято для запаса, если вдруг решат изменить это поле скажем на страну в которой протекает река)
 длина: здесь можно использовать два типа или float если мы хотим получить длину в километрах с точкой, т.е чтобы можно было записать 655,78 км, или UNSIGNED INT (беззнаковое целое число, беззнаковое потому что длина реки не может быть отрицательной), если нам нужно хранить только целую часть длины в километрах
- максимальная глубина: очевидно что нет никаких гарантий что в мире нет рек с одинаковой максимальной глубиной.
Длины достаточно 80 символов
- материк, тут понятно не может, потому что есть много рек текущих по одному материку
 название : тип text или varchar (text может хранить не более 65 535 символов, varchar может хранить не более 255 символов, поскольку в русском языке нет слов длиной больше 255 символов то тут предпочтительнее varchar)
-наличие водохранилищи тоже не может выступать как первичный ключ, поскольку уже для 3х рек он не будет уникальным (ведь он принимает только 2 значение TRUE или FALSE)
- название не подходит потому что  например по Калимантану протекает две реки с одинаковым названием — Капуас, значит название реки не может быть первичным ключом.
Первичным ключом в данной таблице сторого говоря нельзя назвать ни одно поле, потому что поле, назначенное первичным ключом должно иметь уникальное значение для каждой записи. ни одно из полей не может быть уникальным:
наличие водохранилищ: тип bool (1 - есть водохранилища, 0 - нет водохранилищ)
 В принципе это делается достаточно просто с помощью sql запроса и некоторого обработчика входных данных.
Значит под из перечисленных строк первичным ключом можно назначить длину в километрах, хотя конечно это будет неверно.

- куда впадает: в одно и то же место может впадать множество рек, это тоже не подходит под первичный ключ.
- длина в километрах: теоретически может выступать как первичный ключ, но нельзя исключить что в мире есть 2 реки с одинаковой длиной.
куда впадает: здесь тип varchar, длиной в 80 символовю
максимальная глубина: десь так же или float или unsigned int

К нам на почту приходит много вопросов. Мы стараемся отвечать на все. Однако вы должны понимать, что большая загруженность увеличивает время ответа. Сейчас среднее время ответа равно 1:36.