Как зарегистрировать [закрытую] базу данных

Ошибка анализа: синтаксическая ошибка, неожиданная '['

Эта ошибка возникает в двух вариантах:

Вариант 1

$arr = [1, 2, 3];

Синтаксис инициализатора этого массива был введен только в PHP 5.4; это приведет к возникновению ошибки парсера в версиях до этого. Если возможно, обновите свою установку или используйте старый синтаксис:

$arr = array(1, 2, 3);

См. Также этот пример из руководства.

Вариант 2

$suffix = explode(',', 'foo,bar')[1];

Результаты функции разыменования массива также были введены в PHP 5.4. Если обновление невозможно, вам нужно использовать временную переменную:

$parts = explode(',', 'foo,bar');
$suffix = $parts[1];

См. Также этот пример из руководства.

57
задан Community 23 May 2017 в 12:02
поделиться

7 ответов

По моему опыту, ER (или UML) схемы не являются самым полезным артефактом - с большим количеством таблиц, схемы (особенно перепроектированные) часто являются большой замысловатой путаницей, из которой никто ни о чем не узнает.

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

  • Описания того, что означает таблица и как она функционально использовала (в UI, и т.д.)
  • Описания того, что означает каждый атрибут, если это не очевидно
  • Объяснения отношений (внешние ключи) от этой таблицы до других, и наоборот
  • Объяснения дополнительных ограничений и / или инициировало
  • Дополнительное объяснение основных представлений & procs, которые касаются таблицы, если они уже не хорошо документируются

Со всем вышеупомянутым, не документируют ради документирования - документация, которая вновь заявляет, что очевидное просто стоит на пути. Вместо этого сфокусируйтесь на материале, который смутил Вас сначала, и проведите несколько минут, пишущий действительно четкие, краткие объяснения. Это поможет Вам продумать его, и это будет в широком масштабе , помогают другим разработчикам, которые сталкиваются с этими таблицами впервые.

, Поскольку другие упомянули, существует большое разнообразие инструментов, чтобы помочь Вам управлять этим, как Архитектор Предприятия , Красный Документ SQL Логического элемента и встроенные инструменты от различных поставщиков. Но в то время как поддержка инструмента полезна (и даже очень важна в больших базах данных), делая тяжелую работу понимание и объяснение , концептуальная модель базы данных является реальной победой. С той точки зрения можно даже сделать это в текстовом файле (хотя выполнение его в форме Wiki позволило бы нескольким людям сотрудничать при добавлении к той документации инкрементно - так, каждый раз, когда кто-то выясняет что-то, они могут добавить его к растущему телу документации немедленно).

63
ответ дан Ian Varley 24 November 2019 в 19:37
поделиться

Одной вещью рассмотреть является средство КОММЕНТАРИЯ, встроенное в DBMS. Если Вы поместите комментарии ко всем таблицам и всем столбцам в самом DBMS, то Ваша документация будет в системе баз данных.

Используя средство КОММЕНТАРИЯ не вносит изменений в саму схему, это только добавляет данные к таблице каталога USER_TAB_COMMENTS.

7
ответ дан Steven Huwig 24 November 2019 в 19:37
поделиться

Мы используем Архитектор Предприятия для наших определений DB. Мы включаем хранимые процедуры, триггеры и все определения таблицы, определенные в UML. Три блестящих функции программы:

  1. диаграммы UML Импорта от Соединения ODBC.
  2. Генерируют Сценарии SQL (DDL) для всего DB сразу
  3. , Генерируют Пользовательскую Шаблонную Документацию Вашего DB.

можно отредактировать класс / определения таблицы в инструменте UML и генерировать полностью описательное с включенным документом изображений. Автоматически сгенерированный документ может быть в нескольких форматах включая MSWord. У нас есть всего меньше чем 100 таблиц в нашей схеме, и это довольно managable.

я больше никогда не впечатлялся никаким другим инструментом в своих 10 + годы как разработчик. EA поддерживает Oracle, MySQL, SQL Server (несколько версий), PostGreSQL, Межоснова, DB2 и Доступ одним махом. Любое время у меня были проблемы, их форумы, ответило на мои проблемы быстро. Наиболее рекомендуемый!!

, Когда изменения DB входят, мы делаем тогда в EA, генерируем SQL и проверяем его в нашем управлении версиями (svn). Мы используем Гудзон для создания, и это автосоздает базу данных из сценариев, когда это видит изменение зарегистрированного sql.

( Главным образом украденный от другого моего ответа )

7
ответ дан Community 24 November 2019 в 19:37
поделиться

Решение Wiki поддерживает гиперссылки и совместное редактирование, но Wiki только так же хороша как люди, которые сохраняют организованным и актуальным. Вам нужен кто-то для взятия владения проекта документа, независимо от того, какой инструмент Вы используете. Тот человек может вовлечь других хорошо осведомленных людей для заполнения деталей, но один человек должен быть ответственен за организацию информации.

, Если Вы не можете использовать инструмент для генерации ERD путем инженерного анализа, необходимо будет разработать один рукой с помощью ЖАБЫ или VISIO.

Любой ERD с сотнями объектов, вероятно, бесполезен как руководство для разработчиков, потому что это будет нечитабельно с таким количеством полей и строк. В базе данных с таким количеством объектов вероятно, что существуют "подсистемы" нескольких дюжин таблиц, и просматривает каждого. Таким образом, необходимо сделать пользовательские схемы этих подсистем, вместо того, чтобы ожидать, что инструмент сделает это для Вас.

можно также разработать pseudo-ERD, где группы таблиц представлены отдельным объектом в одной схеме, и та группа расширена в другой схеме.

А единственный ERD или набор ERD's не достаточны для документирования системы этой сложности, больше, чем диаграмма классов соответствовала бы для документирования системы OO. Необходимо будет записать документ, с помощью ERD's в качестве иллюстраций. Вам нужны текстовые описания значения и использования каждой таблицы, каждого столбца и отношений между таблицами (особенно, где такие отношения неявны вместо представленного ограничениями ссылочной целостности).

Все это - большая работа, но это будет стоить того. Если будет ясное и актуальное место, где схема документируется, целая команда извлечет выгоду из него.

3
ответ дан Bill Karwin 24 November 2019 в 19:37
поделиться

Этот ответ расширяет Kieveli выше, который я upvoted. Если Ваша версия поддержек EA Объектное Ролевое Моделирование (концептуальный дизайн, по сравнению с логической структурой = ERD), перепроектируют к этому и затем заполняют модель с выразительным богатством, которое это дает Вам.

дешевая опция и опция более легкого веса состоят в том, чтобы загрузить Visiomodeler бесплатно с MS и сделать то же с этим.

ORM (называют его ORMDB) является единственным инструментом, я когда-либо находил, что поддержки и поощряют переговоры проектирования баз данных не - заинтересованные стороны об объектах BL и отношениях.

Проверка в реальных условиях - на пути к генерации Вашего DDL, это проходит через точку фаза ERD, где можно удовлетворить вопросы о том, делает ли это что-либо странное. Это не делает. Это, вероятно, покажет Вам слабые места в ERD, который Вы разработали сами.

ORMDB является классическим случаем принципа что чем более концептуальный инструмент, тем меньший рынок. Девочки просто хотят весело провести время, и программисты просто хотят кодировать.

3
ответ дан dkretz 24 November 2019 в 19:37
поделиться

Так как у Вас есть роскошь работы с поддерживающими разработчиками, которые находятся в одной лодке, я предложил бы спросить их, что они чувствуют, передал бы необходимую информацию, наиболее легко. Моя компания имеет более чем 100 таблиц, и мой босс дал мне ERD для определенного набора таблицы что все подключение. Так также Вы могли бы хотеть попытаться повредить 1 крупный ERD в набор меньших, управляемых, ERDs.

1
ответ дан 24 November 2019 в 19:37
поделиться

Ну, изображение говорит тысячу слов, таким образом, я рекомендовал бы создать схемы ER, где можно просмотреть отношения между таблицами сразу, что-то, что трудно относится к описанию только для текста.

Вы не должны делать целой базы данных в одной схеме, разбивать его в разделы. Мы используем Визуальную Парадигму на работе, но EA является хорошей альтернативой, как ERWIN, и несомненно существует много других, которые так же хороши.

, Если у Вас есть терпение, затем с помощью HTML для документирования таблиц и столбцов, делает документацию легче к доступу.

0
ответ дан James Piggot 24 November 2019 в 19:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: