2013-11-19 3 views
-2

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

В базе данных будет храниться информация о тонне электрических продуктов: включая, но не ограничиваясь, использование ватт, марку, год, цвет, размер, страну происхождения. Основная задача базы данных - использовать некоторые формулы, используя приведенную выше информацию, для вывода нескольких связанных с энергией вещей. Я также создам для этого простой gui. Доступ к базе данных будет осуществляться исключительно на компьютерах под управлением Windows не более чем на 100 человек, возможно, около 20.

Организация обычно не проводит стажировки, и особенно не программистам (все они в основном электрики); Я получил это, действительно настаивая на родственнике, который работает там, который изучал, как организовать некоторые из продуктов, которые они пропускают. Другими словами, я не могу действительно просить THEM для руководства по этому вопросу, так как они не программисты, и именно по этой причине я направился сюда, чтобы понять, откуда я начинаю.

я отвлекся - мои главные задачи:

  1. Что некоторые рекомендуемые чтения или просмотра для этого? Советы и хитрости?
  2. Как настроить сервер для этого? Какое оборудование/пропускная способность/и т. Д. мне нужно?
  3. Как настроить базу данных?
  4. Для клиента gui я решил посмотреть, будет ли это окно, показывающее веб-страницу, построенную с sql, встроенным в php. Это хорошая идея? Рекомендуемое чтение для этого? Какие альтернативы?
  5. Какие меры безопасности вы бы порекомендовали? Рекомендуемое чтение?

у меня есть: несколько версий Microsoft, MySQL сервера, опыт работы в классе с MySQL и PHP, несколько версий Visual Studio, доступом к старым ПК для тестирования (вплоть до переключения операционных систем, аппаратных средств и т.д.), доступ к довольно мощному ПК (без модификации), неограниченная пропускная способность.

Любая помощь будет оценена, спасибо, ребята!

+3

Очень широкий вопрос, возможно, слишком для StackOverflow ... также «* mySQL-серверы Microsoft *»? MySQL не имеет ничего общего с Microsoft (кроме того, что он может работать на своих операционных системах); тогда как конкурирующая СУБД Microsoft, SQL Server, не имеет ничего общего с MySQL. На что вы ссылались? – eggyal

+0

Ну, да, вопрос широк, вот почему я спросил об этом - я заявляю, что я не знаю, с чего начать; вот почему я спросил здесь. Я имею в виду следующие серии серверов: http://en.wikipedia.org/wiki/Microsoft_SQL_Server –

ответ

1
  1. Что некоторые рекомендуется прочитать или просмотра для этого? Советы и хитрости?

    Я бы рекомендовал потратить немало времени на этапе проектирования, прежде чем вы даже касаетесь компьютера. Просто возьмите клочок бумаги и карандаш и начните рисовать различные «экраны», которые ваш пользовательский интерфейс может выставлять на разных этапах (от меню до входов и выходов); покажите их своим целевым пользователям и узнайте, соответствует ли ваше понимание приложению функциональности, которую они ожидают/требуют; учитывать, когда, где, как и почему они будут получать доступ и использовать приложение; усовершенствуйте свой дизайн.

    У вас будет (неопределенная) функциональная спецификация, из которой вы сможете ответить на некоторые из следующих вопросов, заданных ниже, чтобы вы могли начать исследование и определение технической спецификации: на этом этапе вы можете конкретную архитектуру (веб-интерфейс?) или определенные инструменты и технологии (PHP и MySQL?). Затем вы можете определить дополнительные ресурсы (учебные пособия?), Чтобы помочь продвинуться к реализации.

  2. Как настроить сервер для этого? Какое оборудование/пропускная способность/и т. Д. мне нужно?

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

    Сколько данных будет хранить в базе данных («» тонна электрических продуктов «довольно расплывчато)? Какие операции необходимо выполнить («использовать некоторые формулы ... для вывода нескольких связанных с энергией вещей« довольно расплывчато)? Какие будут разные классы пользователей и какие действия они будут выполнять? Как часто эти действия будут записывать данные и считывать данные из базы данных (например, писать 10KiB, один раз в месяц и читать 10GiB, тысячи раз в секунду)? Пока вы ожидаете, что 20 пользователей будут активны одновременно, или обычно будет только один или два в любой момент времени? Насколько критично приложение (с точки зрения надежности/производительности)?

    Возможно, на данный момент, только install MySQL и посмотреть, как вы платите?

  3. Как настроить базу данных?

    Как, как вы должны проектировать схему? Это будет зависеть от операций, которые вы собираетесь выполнять. Тем не менее, является хорошей отправной точкой может быть таблицей продуктов:

    CREATE TABLE products (
        product_id SERIAL, 
        power  INT UNSIGNED COMMENT 'watt usage', 
        brand  VARCHAR(255), 
        year  INT UNSIGNED, 
        color  VARCHAR(15), 
        size  INT UNSIGNED, 
        origin  CHAR(2) COMMENT 'ISO 3166-1 country code' 
    ); 
    

    В зависимости от ваших требований, вы, возможно, пожелаете создать дополнительные таблицы и установление связей между ними.

  4. Для клиента gui я решил посмотреть, будет ли это окно, показывающее веб-страницу, построенную с sql, встроенным в php. Это хорошая идея? Рекомендуемое чтение для этого? Какие альтернативы?

    Веб-приложение PHP, безусловно, один вариант, для которого вы найдете массу полезных бесплатных ресурсов (tutorials, tools, libraries, frameworks и т.д.) в Интернете. Он также очень портативен (поскольку практически у каждого устройства есть браузер, который сможет взаимодействовать с вашим приложением, хотя это обеспечивает плавную совместимость между браузерами и хорошее взаимодействие пользователей с несколькими устройствами, может быть немного болезненным).

    Существует множество альтернатив, использующих практически любую комбинацию языков, среды исполнения и архитектуры, о которых вы могли бы упомянуть: от сервлетов Java до родных приложений Windows, от приложений iOS до всего, между которыми выбор безграничен. Тем не менее, лучший совет, вероятно, следует придерживаться того, с которым вы уже наиболее удобны/знакомы (при условии, что он может отвечать функциональным требованиям приложения).

  5. Какие меры безопасности вы бы порекомендовали? Рекомендуемое чтение?

    Это еще один довольно открытый вопрос. Если вы разрабатываете веб-приложение, я бы , по крайней мере,, чтобы вы знали (как защищаться от) SQL injection, XSS attacks и методы для managing user account security. Каждая из этих областей сама по себе является довольно большими темами —, и это еще до того, как вы даже начнете рассматривать безопасность хостинговой платформы или физической среды.

Смежные вопросы