На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! информация о разделе
user posted imageДанный раздел предназначается исключительно для обсуждения вопросов использования языка запросов SQL. Обсуждение общих вопросов, связанных с тематикой баз данных - обсуждаем в разделе "Базы данных: общие вопросы". Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ.

Модераторы: Akina
  
> Создание БД , Помощь в написании БД.
    Помогите мне в написании БД на MS SQL Server.
    Вообщем в вузе когда-то изучал. Но сейчас пришла рабочая необходимость.
    В базе будут храниться много данных в связанных таблицах. Доступ осуществляется также по группам пользователей.
    Скажите с чего мне сначала начать? Какое ПО установить?
      Цитата refqso8h @
      с чего мне сначала начать?

      C изучения самых основ. Иди на курсы обучения.
        Цитата Akina @
        Цитата refqso8h @
        с чего мне сначала начать?

        C изучения самых основ. Иди на курсы обучения.

        Придётся самому.
          почитай про мсскль сервер, про нормальные формы
            Цитата refqso8h @
            Помогите мне в написании БД на MS SQL Server.

            Цитата http://www.sql.ru/forum/1071899/sozdanie-bd
            (SQL.RU / MySQL) Помогите мне в написании БД на SQL.

            Определелитесь хотя бы с СУБД, что ли...
              Цитата Akina @
              Цитата refqso8h @
              Помогите мне в написании БД на MS SQL Server.

              Цитата http://www.sql.ru/forum/1071899/sozdanie-bd
              (SQL.RU / MySQL) Помогите мне в написании БД на SQL.

              Определелитесь хотя бы с СУБД, что ли...

              Мне нужно писать на MS SQL Server.
                Цитата refqso8h @
                Мне нужно писать на MS SQL Server.

                Начнем с простого. С CREATE DATABASE (Transact-SQL) :o
                ExpandedWrap disabled
                  CREATE DATABASE database_name
                  [ CONTAINMENT = { NONE | PARTIAL } ]
                  [ ON
                        [ PRIMARY ] <filespec> [ ,...n ]
                        [ , <filegroup> [ ,...n ] ]
                        [ LOG ON <filespec> [ ,...n ] ]
                  ]
                  [ COLLATE collation_name ]
                  [ WITH  <option> [,...n ] ]
                  [;]
                   
                  <option> ::=
                  {
                        FILESTREAM ( <filestream_option> [,...n ] )
                      | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
                      | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
                      | NESTED_TRIGGERS = { OFF | ON }
                      | TRANSFORM_NOISE_WORDS = { OFF | ON}
                      | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
                      | DB_CHAINING { OFF | ON }
                      | TRUSTWORTHY { OFF | ON }
                  }
                   
                  <filestream_option> ::=
                  {
                        NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
                      | DIRECTORY_NAME = 'directory_name'
                  }
                   
                  To attach a database
                  CREATE DATABASE database_name
                      ON <filespec> [ ,...n ]
                      FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
                          | ATTACH_REBUILD_LOG }
                  [;]
                   
                  <filespec> ::=
                  {
                  (
                      NAME = logical_file_name ,
                      FILENAME = { 'os_file_name' | 'filestream_path' }
                      [ , SIZE = size [ KB | MB | GB | TB ] ]
                      [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
                      [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
                  )
                  }
                   
                  <filegroup> ::=
                  {
                  FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
                      <filespec> [ ,...n ]
                  }
                   
                  <attach_database_option> ::=
                  {
                        <service_broker_option>
                      | RESTRICTED_USER
                      | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
                  }
                   
                  <service_broker_option> ::=
                  {
                      ENABLE_BROKER
                    | NEW_BROKER
                    | ERROR_BROKER_CONVERSATIONS
                  }
                   
                  Create a database snapshot
                  CREATE DATABASE database_snapshot_name
                      ON
                      (
                          NAME = logical_file_name,
                          FILENAME = 'os_file_name'
                      ) [ ,...n ]
                      AS SNAPSHOT OF source_database_name
                  [;]
                Сообщение отредактировано: Bas -
                  Цитата Bas @
                  Цитата refqso8h @
                  Мне нужно писать на MS SQL Server.

                  Начнем с простого. С CREATE DATABASE (Transact-SQL) :o
                  ExpandedWrap disabled
                    CREATE DATABASE database_name
                    [ CONTAINMENT = { NONE | PARTIAL } ]
                    [ ON
                          [ PRIMARY ] <filespec> [ ,...n ]
                          [ , <filegroup> [ ,...n ] ]
                          [ LOG ON <filespec> [ ,...n ] ]
                    ]
                    [ COLLATE collation_name ]
                    [ WITH  <option> [,...n ] ]
                    [;]
                     
                    <option> ::=
                    {
                          FILESTREAM ( <filestream_option> [,...n ] )
                        | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }
                        | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }
                        | NESTED_TRIGGERS = { OFF | ON }
                        | TRANSFORM_NOISE_WORDS = { OFF | ON}
                        | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>
                        | DB_CHAINING { OFF | ON }
                        | TRUSTWORTHY { OFF | ON }
                    }
                     
                    <filestream_option> ::=
                    {
                          NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
                        | DIRECTORY_NAME = 'directory_name'
                    }
                     
                    To attach a database
                    CREATE DATABASE database_name
                        ON <filespec> [ ,...n ]
                        FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }
                            | ATTACH_REBUILD_LOG }
                    [;]
                     
                    <filespec> ::=
                    {
                    (
                        NAME = logical_file_name ,
                        FILENAME = { 'os_file_name' | 'filestream_path' }
                        [ , SIZE = size [ KB | MB | GB | TB ] ]
                        [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]
                        [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]
                    )
                    }
                     
                    <filegroup> ::=
                    {
                    FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
                        <filespec> [ ,...n ]
                    }
                     
                    <attach_database_option> ::=
                    {
                          <service_broker_option>
                        | RESTRICTED_USER
                        | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )
                    }
                     
                    <service_broker_option> ::=
                    {
                        ENABLE_BROKER
                      | NEW_BROKER
                      | ERROR_BROKER_CONVERSATIONS
                    }
                     
                    Create a database snapshot
                    CREATE DATABASE database_snapshot_name
                        ON
                        (
                            NAME = logical_file_name,
                            FILENAME = 'os_file_name'
                        ) [ ,...n ]
                        AS SNAPSHOT OF source_database_name
                    [;]

                  Подскажите, как мне написать интерфейс для пользования БД в MS SQL Server пользователям?
                    Цитата refqso8h @
                    интерфейс

                    Это смотря как использовать БД, локально либо в сети либо в нете.
                      Цитата Bas @
                      Цитата refqso8h @
                      интерфейс

                      Это смотря как использовать БД, локально либо в сети либо в нете.

                      Мне требуется только в сети (без инета).
                        В MSSQL нет нативного GUI для пользователя как в аксессе. Тебе надо будеть выбрать тип (windows, web) и язык, на котором ты будешь писать интерфейс.
                          Цитата MIF @
                          В MSSQL нет нативного GUI для пользователя как в аксессе. Тебе надо будеть выбрать тип (windows, web) и язык, на котором ты будешь писать интерфейс.

                          Дак что мне сделать?
                          У меня Windowы 7, пользователи будут и на Win 7 и XP. База не используется в сети.
                          Из ООП языков знаю Delphi.

                          Добавлено
                          Цитата refqso8h @
                          Цитата MIF @
                          В MSSQL нет нативного GUI для пользователя как в аксессе. Тебе надо будеть выбрать тип (windows, web) и язык, на котором ты будешь писать интерфейс.

                          Дак что мне сделать?
                          У меня Windowы 7, пользователи будут и на Win 7 и XP. База не используется в сети.
                          Из ООП языков знаю Delphi.

                          Прошу прощения, база используется в сети, но не используется в инете.
                            Цитата refqso8h @
                            Дак что мне сделать?
                            Писать приложения, работающие с MS SQL, на Delphi.
                              Цитата refqso8h @
                              Из ООП языков знаю Delphi.

                              Там много вариантов подключения от BDE(устар.) до ... уже не знаю до чего
                                Цитата Bas @
                                до ... уже не знаю до чего
                                TADOConnection, TADOCommand, TADOQuery рулят! :yes:
                                  Цитата #SI# @
                                  TADOConnection, TADOCommand, TADOQuery рулят!

                                  Дрова от Devart'a лучше, по моему.
                                    Может и лучше - не знаю. На TADOxxx работал с MS SQL, Access и Oracle (последний год, ты в курсе) - проблем нет.
                                      Подскажите где взять книги, в которых написано о написании интерфейса на Delphi?
                                        Тут
                                        Тут
                                        В магазине.
                                          Цитата refqso8h @
                                          где взять книги, в которых написано о написании интерфейса на Delphi?
                                          Общие понятия - см. ссылки Виктора. А реально интерфейс разрабатывается под конкретную задачу. Представь себя юзером и танцуй от этой печки.
                                            Скажите, пожалуйста, как перебросить таблицы из Excel в MS SQL Server, чтобы не набирать заново?

                                            Добавлено
                                            Ещё такая проблема: у меня БД (MS SQL Server) написана на моей рабочей Windows 7-64.
                                            Оболочку интерфейса пишу на Delphi 7 (32 раз.) в виртуальной машине VMWare под Windows XP SP2.
                                            У меня не получается подключиться к серверу из Delphi к БД.
                                              Цитата refqso8h @
                                              таблицы из Excel в MS SQL Server

                                              см. справку по OPENROWSET

                                              Добавлено
                                              И вроде експлоире есть импорт
                                                Цитата refqso8h @
                                                У меня не получается подключиться к серверу из Delphi к БД
                                                Через клиента на виртуалке.
                                                Я так к Oracle 12(64) на WS 2012 R2 подключаюсь из BDS 2010(32) и с Win7/8.1(32) и с Win7/8.1(64).
                                                  У меня в таблице MS SQL Server получилась копия строки, то есть две строки стали одинаковыми после случайного нажатия клавиш. Теперь не могу удалить ни первую, ни вторую строку, ни обе вместе, и изменить не могу ни первую, ни вторую, ни обе вместе. Что сделать?
                                                    Цитата refqso8h @
                                                    две строки стали одинаковыми после случайного нажатия клавиш.

                                                    Надо было запомнить комбинацию клавиш.

                                                    Цитата refqso8h @
                                                    Теперь не могу удалить

                                                    Как ругается, как пытаетесь удалить, если уникальный ключ?
                                                      Цитата refqso8h @
                                                      У меня в таблице MS SQL Server получилась копия строки, то есть две строки стали одинаковыми после случайного нажатия клавиш. Теперь не могу удалить ни первую, ни вторую строку, ни обе вместе, и изменить не могу ни первую, ни вторую, ни обе вместе. Что сделать?

                                                      Написать Т-SQL код начинающийся с DELETE и исполнить его в Management Studio(или Quey Analyser).
                                                      Сообщение отредактировано: MIF -
                                                        Цитата MIF @
                                                        Написать Т-SQL код начинающийся с DELETE
                                                        и не забыть в него WHERE добавить.
                                                        Цитата refqso8h @
                                                        не могу удалить ни первую, ни вторую строку, ни обе вместе, и изменить не могу ни первую, ни вторую, ни обе вместе
                                                        Как сервер ругается на эти попытки?
                                                          Со строками разобрался, спасибо.
                                                          А вот создать подключение из Delphi никак не подключается. Сеть уже настроил между виртуальной машиной и рабочей ОС.
                                                          У меня БД (MS SQL Server) написана на моей рабочей Windows 7-64.
                                                          Оболочку интерфейса пишу на Delphi 7 (32 раз.) в виртуальной машине VMWare под Windows XP SP2.
                                                          У меня не получается подключиться к серверу из Delphi к БД через ADO.
                                                          При настройке соединения, есть кнопка "Проверка подключения" выходит ошибка с сообщением:
                                                          "Ошибка SQL-сервер не существует или отсутствует доступ. Не выполнен вход в систему. Не удается загрузить сведения каталога."
                                                            Цитата refqso8h @
                                                            Оболочку интерфейса пишу на Delphi 7 (32 раз.) в виртуальной машине VMWare под Windows XP SP2.
                                                            У меня не получается подключиться к серверу из Delphi к БД через ADO.
                                                            Тебе не к самому серверу надо подключаться, а к клиенту, связанному с сервером.
                                                            Цитата refqso8h @
                                                            Со строками разобрался, спасибо.
                                                            Первичного ключа не было?
                                                              Цитата #SI# @

                                                              Подключение удалось сделать.
                                                              первичного ключа не было.
                                                                Цитата refqso8h @
                                                                первичного ключа не было.
                                                                Оно и видно! :) Учти на будущее.
                                                                  Легко ли изменить тип поля в таблице после того, как уже заполнил таблицу?
                                                                  И создать первичный ключ тоже можно сделать позже?
                                                                    Да в принципе и то, и другое можно "потом". Но лучше перед наколачиванием структуры таблиц малость почесать репу. А уж первичные ключи - это святое. Их на автомате надо создавать.
                                                                      То есть первичный ключ не сделать потом?
                                                                        Не надо плясать с бубном. Если не хочешь проблем с таблицами - не забывай про поле (поля) первичного ключа при создании таблиц (проектировании базы данных).
                                                                        Сообщение отредактировано: #SI# -
                                                                          Цитата refqso8h @
                                                                          То есть первичный ключ не сделать потом?

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


                                                                          Рейтинг@Mail.ru
                                                                          [ Script execution time: 0,0786 ]   [ 17 queries used ]   [ Generated: 6.05.24, 21:18 GMT ]