April 10th, 2016

tulip

Модель данных для chispa1707

Немного о себе: Я программист-контрактор с 30-летним стажем из Чикаго. Для начала, Я попытался "нормализовать" базу данных представленную chispa1707 в нескольких Excel файлов: http://chispa1707.livejournal.com/2062079.html

Дизайн и программирование ведется на Английском с последующей интернационализацией для пользователей и ввода данных. Нормализацией данных называется определение терминов (понятий, entities, properties, relationships).

Это первая попытка (first draft).

------ Entities --------- Термины, классы
-- Each entity includes all system Properties
-- Each entity has corresponding Type
Area
Channel
Event
Landmark
Phrase
Reference
User
System Properties: -- системные поля данных будут созданны для каждого класса
Id
NamePhraseId
DescriptionPhraseId
TypeId
CreateDate
ModifyDate
CreatorId

Entity Type -- simple entity satellite with system properties only - Каждый класс автоматически получит "тип" с возможными категориями.

Multiple Property - references to multiple records. Usually it is implemented as joint table. Множественные ссылки от одного обьекта к нескольким другим. В реляционных базах данных такая конструкция поддерживается стандартной дополнительной "стыковой" таблицей.
------ Geography --------
-- can use modern or historical references to point to specific geographical features.
Area -- географическое пространство
InsideOfAreaId -- для определения иерархической структуры
Channel -- River, Road, Channel, Path - Любой протяженный географический элемент
Location (multiple) -- goes through or resides in - где находится или что пересекает
Landmark -- точечный географический елемент
GeoLocation -- Geography(Latitude, Longitude)
------ Time -------------
-- Time could be specified by beginning and end explicitly or implicitly
-- Время понятие приближенное. Даже казалось бы точная дата 10 апреля 2016 года подразумевает на самом деле две точки времени: начало дня и его конец, общей протяженностью 24 часа. Пока точно не знаю как, но термин "время" должно правильно описывать любое временное понятие, как бы оно не называлось.
-- Examples: April 10, 2016; 1st century BC, Dark Ages, Winter of 1812, Конец 20 века.
Period
DateFrom
DateTo
Season (Winter, Spring, Summer, Autumn)
DayOfWeek (1-7)
Month
Year
Century
Day1
Day2
DayCount -- number of days in the period
Age
LocationId -- only for conversion to UTC time, if necesary
------ Language ---------
Phrase -- All textual content is specified by phrases for internationalization. Допускается любой техт на любом языке. Все фразы содержатся в одном месте для упрощения перевода.
Content
Language
------ Resource ---------
Reference -- ссылка на источник
Href
ISBN
Author
------ Content ----------
-- Main Entity containing any events or facts in time of history of humanity, including facts of absence.
-- Главный класс содержащий события и факты, включая отсутствие знания о чем-либо.
Event
Period
Area (multiple) -- affected cities, countries, bodies of water, or continents
Channel (multiple) -- intersection or nearby
Landmark (multiple)
Reference (multiple) -- source of information
Population -- number of affected people
PartOfEvent (multiple) -- major events
DependOnEvent (multiple) -- preceeding events or causes
DuplicateOfEvent (multiple) -- duplications
----------- Entity Types ------------
-- Examples of Entity Type options
-- Примеры категорий для разных классов
Area Type:
City
Country
District
Lake
Region
Sea
State
Continent
World
Channel Type:
Channel
Border
River
Road
Strait
Event Types:
Absence -- something doesn't exist
Battle
Catastrohe
Citation
City
Conflict
Country
Discovery
Famine
Flood
Fire
Invention
Person
Product
Reign
Religion
Technology
Volcano
War