Вход | Регистрация


Информационные технологии ::

Метки:

БАЗЫ данных и WWW

Я
   povar
 
09.12.03 - 06:57
Привет всем! Сталкнулся с такой проблемой:
У нашей фирмы 7 диллеров и все в разных городах, нам нужно от них получать ежедневную реализацию.Как с  помощью Web интерфейса, добавлять в базу (SQL) данные о продажах.Дилерам нужно авторизироваться на странице и заполнить простые текстовые поля, отправить все на наш сервер.
Создание БД, запросы к ней не представляют проблемы, проблема в том, как связать html c SQL ? Web - сервер у нас под FreeBSD 4.4 и какким образом все это выложить на сервер.
P.S.
Извините за дилетанство, но я с html и вообще с web технологиями только месяц как познакомился.
 
  Рекламное место пустует
   valich
 
1 - 09.12.03 - 08:10
Для начала давай уточним, какие технологии придется использовать?
SQL - MySQL, Oracle, Interbase, MS SQL или еще что?..
Язык - PHP, Perl, ASP или другое?..
Вообще я бы рекомендовал связку MySQL+PHP...
Да, и еще, какой Web-сервер используется (не Apache?)...
   Волшебник
 
2 - 09.12.03 - 08:16
Кстати, этот форум и является примером работы с базой данных MySQL.
   babaEGA
 
3 - 09.12.03 - 12:28
Не люблю MySQL... Много "неудобств" у него (по сравнению скажем с MS SQL server).
Имхо, это только для самых простых баз годится типа поддержки форумов.
   Львенок
 
4 - 09.12.03 - 16:50
Да, буквально на днях закончил курс 2072 - Administring SQL Server (можете мну поздравлять). Никаких проблем в MS SQL по пересылке данных через WWW нет. Он во первых интегрируется с IIS, во-вторых там есть Import/Export Wizard'ы, можно экспортировать все что не лень в plain-text, можно также отсылать по е-мэйл результаты любых выборок.
   Волшебник
 
5 - 09.12.03 - 20:06
MySQL - самая быстрая СУБД в мире (возможно, кроме Oracle).  Тесты можно посмотреть здесь:
http://www.mysql.com/information/benchmarks-old.html
   valich
 
6 - 10.12.03 - 02:31
Ладно, пока povar'а нет тоже хочу пофлеймить.
Самый лучший SQL-сервер - Interbase. Почему?
- Он (по-моему) до сих пор состоит на вооружении армии США. Используется в системе наведения танка "Абрамс".
А это что-нибудь да значит... ;)
Кстати, захотите поближе познакомиться -
http://www.ibase.ru и http://www.ibphoenix.com
   babaEGA
 
7 - 10.12.03 - 17:03
(5) Ты меня задел за живое!
То, что MySQL быстрая, не уменьшает ее недостатков.
Если мне не изменяет память MySQL не поддерживает вложенные подзапросы!!! Мне лично не понятно, о какой скорости вообще можно говорить, когда сравнивнение идет по простейшим операциям типа - connect, select * и alter table...

К тому же в MySQL нет поддержки триггеров. Представьте, что мы удаляем запись из родительской таблицы клиент, а заказы клиента в дочерней таблице "заказ_клиента" при этом повисают в воздухе... Фу...

А интерфейс просто вгоняет меня в депрессию. Никаких тебе диаграмм, табличек (нарисованных), кнопочек... Ужас...
Эх... (Ладно. молчу. молчу...)
   Львенок
 
8 - 11.12.03 - 09:46
MS SQL, конечно, рулит. Но сделан он все равно через ж..пу. Особенно такие вещи как резервное копирование и восстановление БД. Для восстановления (успешного) поврежденной базы данных, там столько натяжек и допущений. 1) Файл taransaction log должен быть не поврежден (ха! у вас весь винт рухнул, а транзакшн, занимающий около четверти от всего размера базы, блин, вот везение, оказался не поврежден!). 2) Если для резервного копирования указано несколько файлов, то, что бы вы думали? Он не дублирует в них резервный архив, а размазывает его по ним всем (вот зачем? предполагается, что резервная копия не влезает на один логический диск?). Один из таких файлов попорчен - все, плакал твой backup. И на каждой второй странице инструкции: Use RAID arrays.
___
Искренне Ваш, Львенок.
   babaEGA
 
9 - 11.12.03 - 13:25
(8) Многоуважаемый Львенок. Поздравляю вас с окончанием курса 2072. Надеюсь, вы так же успешно сдадите соответствующий экзамен! (70-229 кажется, да?).
Думаю, вы не станете спорить с этим:
1) Вообще-то бэкапить надо на другой диск (хард, зип)... Думаю, вы не хуже меня знаете, что если база и ее копии хранятся на одном и том же диске - это до добра не доведет.
2) В MSSQL есть несколько видов резервного копирования: полное, журнала транзакций и т.д.
__________
Вечно не ваша, бабаEGA
   Львенок
 
10 - 11.12.03 - 13:49
(9) Дорогая babaEGA, несомненно, вы правы по всем пунктам. Однако любое резервное копирование (особенно полное) отнимает весьма прилично времени и немерянно рессурсов системы. Соответственно, его нельзя выполнять достаточно часто, особенно в контексте данной темы (БАЗЫ данных и WWW), когда база должна быть доспутной всегда и быстро. Даже простое резервирование транзакшн лога, это целая песня (опять-таки сугубо ввиду его размеров). Если база большая, и часто обновляемая (как у меня), транзакшн, это почти четверть от ее объёма!
И вот теперь напрашивается вопрос, а как же восстановить информацию, добавленную в базу с момента прошлого резервного копирования (любого вида) и до момента сбоя?

Кстати, ваши ответы мне не вполне по теме моего вопроса, видимо вы не внимательно читали мой топик. Мне вполне очевидно, что бэкапить нужно на другое физическое устройство, желательно разнесенное географически/физически/электрически от бекапимой системы. Мой вопрос по поводу бэкапа сводился исключительно к: Зачем есть возможность бэкапить одновременно в несколько файлов, когда данные в них не дублируются (что обеспечивало бы повышение надежности), а наоборот дробятся - кусок в первый файл, другой кусок во второй. Если при таком копировании один из бэкап-файлов окажется также поврежден (ну а вдруг?), это значит, что все остальные окажутся бесполезными. Весь бэкап насмарку. Вы так же не будете отрицать, что транзакшн обычно находится на том же физическом диске, что и остальные файлы базы, поэтому мне видится вообще относительно сомнительной возможность того, что база рухнула (ну вот взял вирус и отформатировал вам низкоуровнево весь винт), а транзакшн (который активно используется в процедуре восстановления) взял и чудом уцелел. По-хорошему, его, конечно, нужно хранить на отдельном физическом устройстве. Use RAID arrays! :)
___
Искренне Ваш, Львенок.
 
  Рекламное место пустует
   valich
 
11 - 11.12.03 - 14:03
Народ, а где povar? Заварил, понимаешь, кашу...

Ладно, у меня к участникам ветки предложение есть.
Каждый из нас, судя по всему, неплохо разбирается
в наиболее полюбившемся ему сервере! Так поделитесь
что в них хорошего, а что не очень...

Ну, а я конечно первый.
В Interbase делал в свое время хранение иерархии...
Так вот, резервное копирование проходит "на ура".
Но вот восстановить базу не удается. Причина же
(после продолжительного акта любви) оказалась довольно тривиальной.
У меня иерархия частично регулировалась триггерами. И, по всей видимости, при восстановлении эти самые триггеры очень даже работают.
Очевидно при восстановлении данных сервер принимал дочернюю запись раньше родительской, а триггер противоречил такой наглости.
Пришлось контроль возложить на хранимые процедуры.
После переделки все заработало...
Так что, вывод, РСУБД она и в Африке РСУБД...
   valich
 
12 - 11.12.03 - 14:06
Ой, а я оказывается уже далеко не первый, но все равно приятно!
   povar
 
13 - 13.12.03 - 02:30
To valich: Извиняюсь за долгое отсутсвие - коммандировка
На счет технологий -( MS SQL и PHP )
Сервер действительно Apache
Большое спасибо всем за проявленный интерес. Безусловно вы хорошо разбираетесь в БД и WWW, но всеже если можно поконкретнее, пример например :) какой нибудь.
   valich
 
14 - 14.12.03 - 00:36
Дааа, MS SQL.
Извини, тут я не силен.
Хотя, есть один момент. Сравнивая методы взаимодействия PHP с другими серверами... В частности interbase и MySQL можно отметить единую концепцию подхода инженеров, разработчиков PHP. Поэтому следующий вопрос - речь идет исключительно о связке, или все-таки проблема в применении PHP?
   povar
 
15 - 15.12.03 - 05:57
Проблема скорее всего, что выбрать, какую технологию, что бы потом не зайти в тупик и небыло излишней сложности в ее реализации
   valich
 
16 - 15.12.03 - 12:39
(15) Ну что ж. Вопрос вроде бы ясен. Попробуем взвесить все за и против. Кстати, я совершенно не претендую на то, что укажу сейчас все "за и против". Приглашаю и других экспертов (знатоков, как угодно) поучаствовать и поспорить...
Итак…
Конечно при использовании технологии от Microsoft (MS SQL) было бы совсем неплохо и опираться только на них (ASP). Но Apachi несколько расстраивает такую идиллию. К нему очень неплохо подходит PHP. А ASP "должен" работать с IIS.
Вот некоторые достоинства PHP.
- Высокая скорость обработки данных, в отличие от ASP ;)
- Приятная возможность решить все проблемы путем применения "стандартного" web-интерфейса. Все-таки в ASP развит свой набор компонент для построения форм (что не исключает возможности применения и старых добрых полей ввода).
- PHP легок в освоении и прост в сопровождении (синтаксически напоминает Си, однако я как выходец из Паскаля совершенно не был этим обескуражен, несмотря на то, что являюсь идеологическим противником этой "последней ноты" ;), и в отличие от освоения другого небезызвестного продукта никаких затруднений в понимании не испытываю),
- то, что PHP бесплатный продукт, ничуть не умаляет его ценность и надежность. Он существует на рынке достаточно долго, и уже давно набрал "критическую массу",
- PHP имеет «стандартизированное» расширение для работы c MS SQL (упс),
- PHP на данный момент неплохо документирован (на русском языке) и популярен, так что решить любую проблему посредством Internet не составит труда.
В общем все мило и красиво ;)
Теперь попробуем описать некоторые его недостатки.
Или вернее один недостаток пришедший мне в голову. Тут вспомнил, что в официальной документации на PHP сказано: -  расширение для работы с MS SQL существует только для Windows. Т. е. если ваш PHP установлен на машине с Linux, не придется им воспользоваться.
На этом пожалуй пока остановлюсь. Надо подумать, да и мнение других послушать не мешает… Народ, если кто с ASP дружит поговорите…
   valich
 
17 - 15.12.03 - 22:15
Вот, пожалуйста. Предыдущие сведения о работе PHP с MS SQL были взяты из документации к версии 4.3.0.
Тут поднял версию 4.3.3. И нате вам:
Requirements for WIn32 platforms.
The extension requires the MS SQL Client Tools to be installed on the system where PHP is installed. The Client Tools can be installed from the MS SQL Server CD or by copying ntwdblib.dll from \winnt\system32 on the server to \winnt\system32 on the PHP box. Copying ntwdblib.dll will only provide access. Configuration of the client will require installation of all the tools.

Requirements for Unix/Linux platforms.
To use the MSSQL extension on Unix/Linux, you first need to build and install the FreeTDS library. Source code and installation instructions are available at the FreeTDS home page: http://www.freetds.org/

Notes: In Windows, the DBLIB from Microsoft is used. Functions that return a column name are based on the dbcolname() function in DBLIB. DBLIB was developed for SQL Server 6.x where the max identifier length is 30. For this reason, the maximum column length is 30 characters. On platforms where FreeTDS is used (Linux), this is not a problem.
   valich
 
18 - 15.12.03 - 22:16
Если кому надо могу сделать вольный перевод на базе русского фольклора ;)
   babaEGA
 
19 - 16.12.03 - 16:57
Это просто смешно :)
Мы с вами спорим, что лучше - стол или пуля ?! :)))
У всего в этом бренном мире есть свои плюсы и минусы. Надо отталкиваться только от Ваших требований и условий...
   valich
 
20 - 23.12.03 - 14:17
Вот, тут статейку нашел. Не ручаюсь за ее КПД, но все-таки...
Сказ про то, как я PHP на MSSQL женил и научил их на одинаковом русском разговаривать
http://www.getinfo.ru/get.html?did=462
   Волшебник
 
21 - 23.12.03 - 21:52
MySQL исправил 21 ошибку в СУБД

Компания MySQL AB представила версию 4.0.17 своего ПО с открытым кодом MySQL, в которой исправлено множество ошибок предыдущих версий, обнаруженных в продукте с октября этого года.

Основная редакция MySQL 4.0.17 доступна в исходных кодах и бинарном виде. По словам тестировавшей код компании Reasoning, в 235667 строках кода была найдена 21 программная ошибка. При этом 15 из них связано с обращением к пустому идентификатору, три – с утечкой выделенной памяти и еще три – с неинициализированными до использования переменными.

Впрочем, отмечает американская компания, код MySQL в шесть раз качественнее сопоставимого коммерческого кода, являющегося интеллектуальной собственностью. По оценке Reasoning, в коде MySQL встречается в среднем 0,09 ошибок на каждую тысячу строк, а тот же показатель для коммерческих продуктов составляет 0,57 ошибок (проанализировав 200 проектов, содержащих в общей сложности 35 млн. строк кода).

Источник: http://www.cnews.ru/newsline/index.shtml?2003/12/23/153317
   Волшебник
 
22 - 23.12.03 - 21:54
Список исправлений здесь http://lists.mysql.com/announce/177 (англ.)
   Serpent
 
23 - 27.12.03 - 15:11
А наши пацаны диплом написали на Яве. Система документооборота через Инет для порта Оля. Использовали сервлеты, а базу PostGress (вроде так называется) - свободная тож. Хвалили. Причем, это выбор заказчика, так как система была совершенно рабочася. а не только для диплома.
   BSDSvin
 
24 - 27.12.03 - 17:22
Повар.
Почитай книжку А.Деккарта программирование DBI-DBD -это  тебе должно помочь..... На самом деле (как я понял из твоей первоначальной задаи) база на FreeBSD не нужна..... А  нужна форма ввода простенькая , линк через DBD на Перле (modperl лучше) - напрямую в базу MSSQL , а там ты с этими табличками возишься 1С средствами.... А от внешнего мира прикрываешься SSL соединением.Можешь хоть сертификаты при этом выписывать.
Вообщем , соответственная сборка Апача и скрипт на 20 строк - все твои проблемы ИМХО.



Список тем форума
Рекламное место пустует   Рекламное место пустует
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует