C99 N1256 стандартная черновик
http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf
6.5.3.4 Оператор sizeof :
3 При применении к операнду, который имеет структуру или тип объединения, результатом является общее количество байтов в таких объект, включая внутреннюю и конечную прокладку.
blockquote>6.7.2.1 Спецификаторы структуры и объединения :
13 ... Там может быть неназванным дополнением внутри объекта структуры, но не в начале.
blockquote>и:
15 В конце структуры может быть неназванное дополнение или объединение.
blockquote>Новая функция члена C99 с гибким элементом массива (
struct S {int is[];};
) также может влиять на заполнение:16 As в специальном случае последний элемент структуры с более чем одним именованным элементом может иметь неполный тип массива; это называется гибким элементом массива. В большинстве ситуаций гибкий элемент массива игнорируется. В частности, размер структуры выглядит так, как если бы гибкий элемент массива был пропущен, за исключением того, что он мог иметь более длинное дополнение, чем подразумевалось.
blockquote>Приложение J Проблемы с переносимостью повторяет:
Следующие неуказаны: ...
blockquote>
- Значение байтов заполнения при хранении значений в структурах или объединениях (6.2.6.1)
C ++ 11 Стандартная черновая версия N3337
http://www.open-std.org/jtc1/sc22/wg21/ docs / papers / 2012 / n3337.pdf
5.3.3 Размер :
2 При применении к классу результатом является количество байтов в объекте этого класса, включая любое дополнение, необходимое для размещения объектов этого типа в массиве.
blockquote>9.2 Члены класса :
Указатель на объект структуры стандартного макета, соответствующим образом преобразованный с использованием reinterpret_cast, указывает на его начальный член (или если этот элемент является битовым полем, то t o единица, в которой он находится) и наоборот. [Примечание. Таким образом, в рамках объекта структуры стандартного макета может быть указано неназванное заполнение, но не в его начале, по мере необходимости, для достижения соответствующего выравнивания. - end note]
blockquote>Я знаю достаточно C ++, чтобы понять примечание: -)
Хорошо на ПК можно использовать MS Visio для создания схемы Объекта DB.
Это даже перепроектирует один от существующей Базы данных.
Боль для устанавливания в первый раз Вы используете его, но довольно удобный после этого.
У Архитектора Открытой системы есть некоторый потенциал. Его очень похожее на Visio.
Я использую точно именованный Инструмент Проектирования баз данных. Это чрезвычайно просто и unfortunatly, это больше разрабатывается, как бы то ни было. Это - лучший инструмент, с которым я столкнулся, который свободен и в конце разработки Ваших таблиц, это генерирует T-SQL для Вас. Это также независимо от языка.
Я - большой поклонник АРГО UML из Tigris.org. Рисует хорошие изображения с помощью стандартной нотации UML. Это делает некоторую генерацию кода, но главным образом классы Java, который не является SQL DDL, так, чтобы могло не быть достаточно близко к тому, что Вы хотите сделать.
Можно посмотреть на список Инструментов Моделирования данных и видеть, лучше ли что-нибудь там, чем Арго UML. Многие объекты в этом списке являются бесплатными или дешевыми.
Кроме того, при использовании Eclipse или NetBeans существует много плагинов дизайна, некоторые из которых могут иметь функции, которые Вы ищете.
Вы могли испытать MySQL Workbench, который происходит в открытом исходном коде dbdesigner. Существует свободный общественный доступный выпуск. Можно разработать базу данных с помощью er-схем или перепроектировать существующую базу данных.
Я всегда наслаждался Eclipse. Существует несколько плагинов для него, которые похожи, они сделают то, что Вы хотите.
SchemaBank (веб-поставщик SaaS) может превратить Ваш дизайн ER в SQL-операторы для MySQL и Стр. Еще не Может сделать графического экспорта все же. Хорошая вещь - Вы, ничего не должны устанавливать ('cos его на базе браузера), и она фактически ничего не стоит. Необходимо смочь совместно использовать дизайн другим людям также.
MySQL Workbench - лучший инструмент для проектирования баз данных, который я пробовал
SQLDeveloper от Oracle может работать с базами данных Oracle и MySQL.