Я чувствую себя немного смущенным, я всегда использовал термины «столбец» и «поле» полностью взаимозаменяемо, что в последнее время вызывало некоторую путаницу в технических дискуссиях.
Мне сказали, однако, что это не правильно, что так и должно быть (перевод каждого термина в терминологию электронных таблиц, игнорирование типов данных и все остальное, что делает базы данных полезными):
- Столбец базы данных: как столбец электронной таблицы
- Запись базы данных: как строка таблицы
- Поле базы данных: как «ячейка» электронной таблицы (определенный столбец определенной строки)
Это правильно? Я мог бы поклясться, что столбец и поле используются более взаимозаменяемо, чем это. Я конечно был.
Таким образом, мы не добавляем поля в таблицу, мы добавляем столбцы в таблицу, и поля релевантны, только когда речь идет о данных в записи?
Другие мысли о столбце против поля?
Изменить: чтобы уточнить, текущий контекст является MS SQL Server. До SQL Server я работал в MS Access, что могло повлиять на использование этих терминов.
источник
Ответы:
Теория реляционных баз данных не включает использование слова Field. Доктор Э. Ф. Кодд, который написал серию работ, которые обеспечивают теоретическую основу для RDBMS, никогда не использовал этот термин. Вы можете прочитать его оригинальную статью 1970 года «Реляционная модель данных для больших общих банков данных», если хотите проверить.
Используются такие термины, как домен, таблица, атрибут, ключ и кортеж. Одна из причин этого заключается в том, что его статьи были в основном посвящены реляционной алгебре, а способ, которым конкретная реализация будет определять таблицу в базе данных, не считался Коддом важным. Продавцы уточнят это позже. Люди также должны понимать, что исторически RDBMS развивались из существующих иерархических и сетевых баз данных, которые предшествовали им, И внутренняя работа RDMBS по-прежнему должна быть связана с организацией и хранением данных.
В обычном использовании, и вы можете легко проверить это, просто выполнив небольшое прибегая к помощи, поля и столбцы - это одно и то же.
Базы данных ПК, такие как DBase, Access и Filemaker, обычно используют «поле» вместо «столбец». «Атрибут» - это еще один термин, который можно использовать взаимозаменяемо.
Например, вот ссылка на руководство по MS Access по добавлению « поля » в таблицу. Понятно, что в MS Access «поле» эквивалентно «столбцу».
То же самое относится и к Dbase и Filemaker Pro.
Иногда люди будут ссылаться на конкретное значение в определенной строке как на «поле» или, точнее, на «значение поля», но это не делает использование «поля» при ссылке на столбец или понятие эквивалентного столбца некорректным. Это, как правило, вызывает определенную путаницу, потому что люди использовали «поле» для обозначения разных вещей в течение многих лет. В реляционной теории - единое атомное значение называется «датумом».
Если кто-то заявил, что «поле» - это одно значение в реляционной базе данных, а не то же самое, что столбец, это его мнение, поскольку «поле» не является частью общедоступной реляционной базы данных. Они не являются ни правильными, ни неправильными, однако во всем мире баз данных поле чаще используется для обозначения столбца.
С учетом сказанного, проектам и командам часто приходится выработать понимание того, как они хотят использовать определенную терминологию в рамках проекта, чтобы избежать путаницы.
Вы не ошибаетесь, но вы также можете решить просто согласиться с используемым соглашением или вообще не использовать слово field в пользу «column». В реляционных базах данных «Таблица» и «Столбец» являются строительными блоками, которые существуют в DDL, и лучше всего использовать те термины и избегать «поля», которое не используется и не определено четко.
источник
Более старый SQL: 92 упоминается
fields
как компоненты элементов datetime:Поля здесь - это год, месяц и т. Д., И термин
field
, похоже, не имеет никакого другого значения в остальной части документа.Более новый стандарт SQL: 2003 имеет это:
и позже:
Это контраст со столбцом, который определяется как:
Потом еще раз, когда вводим таблицы:
(акцент мой). Кажется, это подтверждает то, что вы написали в вопросе: конкретный столбец определенной строки .
источник
А сколько ангелов может танцевать вокруг головы булавки?
Человек, который исправил вас, мог бы быть исправлен.
Таблица = отношение
Ряд = кортеж
Столбец = Атрибут
Домен = Тип данных
Смотрите запись в Википедии о реляционных базах данных здесь .
Я работал в авиакомпании, и слово «полет» можно было использовать тремя различными способами, в зависимости от того, разговаривали ли вы с пилотами / стюардессами, инженерами или маркетологами.
инженеры: один взлет и одна посадка, может быть испытанием, ремонтом, тренировкой (то есть один аэропорт обратно в тот же аэропорт) или «ногой», то есть один аэропорт в другой - то, что «гражданские лица» обычно называют полетом, как в «Я поймаю свой рейс домой завтра»),
маркетинг: шестимесячная (обычно в сезон или в межсезонье) серия «рейсов» из / в данный аэропорт в контексте контракта.
Аналогия с электронными таблицами более чем достаточна для 99,99% случаев, даже в довольно технической речи (если только вы не являетесь профессором реляционной алгебры). Правильно ли использует человек, который вас исправил, слово «кого»? 99,99% людей не имеют, и это действительно не имеет значения.
источник
Я обычно использую «поле» и «столбец» взаимозаменяемо, в последнее время склоняюсь к «столбец». Я не слышал термин «поле», чтобы обозначить «данные». Я также не слышал термин «атрибут» для обозначения «поля» или «столбца». Столбец / Поле имеет атрибуты, доступные, например, через класс FieldInfo.
Я считаю, что «колонна» - это просто эволюция терминологии. Настольные БД (xBASE, MSAccess) обычно используют «поле». M204 использует «поле». Эта «полевая» терминология была перенесена в MSOffice xml и другие. Документы для Oracle (из-за этого я не буду публиковать больше ссылок) и MSSQL взаимозаменяемо используют «поле» и «столбец». Sybase (в настоящее время компания SAP) преимущественно использует «столбец», но иногда «поле» в своей документации.
Пока ваша рабочая группа соглашается на срок, не имеет значения, какой. Это синдром «розы под любым другим именем».
источник
Так что я понимаю, что это старый вопрос, но я его часто слышу. Мое мнение основано на участии нашей команды данных в нашей команде разработчиков. Разработчики определенно имеют поля в записях, которые отображаются на экранах, и эти поля содержат данные, которые часто можно сопоставить со столбцами с конкретными строками. Однако во многих случаях реляционный метод, используемый для доступа к данным, может изменить то, что заканчивается на конкретном экране в определенном поле.
I запись представляет собой текущее значение, которое доставляют данные. С течением времени эти значения могут и, вероятно, изменятся, поэтому запись тоже изменится. Данные, подтверждающие, что это сейчас и что было в данный момент, могут быть легко сохранены в виде набора таблиц. Отношения между данными определяют значения, которые составляют запись в любой момент времени.
Логика, которая выводит поля, может меняться со временем. Например, сотрудницу нанимают в качестве Сьюзен Джонс, и она была нанята 01.12.2010 в качестве продавца в магазине № 101, который подчиняется Биллу Андерсону в качестве менеджера магазина. Это прогрессивная компания, которой также назначен наставник для каждого сотрудника. Наставница Сьюзен - Мэри Филлипс. Мэри Филлипс является менеджером магазина, но она также является региональным менеджером магазина, в котором работает Сьюзен. С 11.10.2011 Сьюзан была назначена менеджером магазина. Мы не знаем, что случилось с Биллом, но Сьюзен сейчас является менеджером магазина.
У нас есть таблица сотрудников с именем, номером, датой найма, должностью и местонахождением.
У нас есть таблица наставника с номерами сотрудников для наставников и сотрудников, которых они наставляют, плюс даты, описывающие начало и конец отношений наставника.
У нас есть таблица регионов с названием региона и назначенным номером менеджера.
У нас есть другая таблица мест с адресом, описанием, регионом и номером менеджера.
На экране, отображающем информацию о магазине, может быть поле для менеджера магазина. Значение для менеджера магазина - это не поле базы данных, а вычисляемое значение, которое со временем может измениться. Также менеджер человека может измениться. Данные, которые его поддерживают, по-прежнему хранятся в столбцах, но отношения между столбцами изменились, и при сборке для конкретной цели оно становится полем.
источник