Baza danych i zdjęcia

0

Witam,

Mam do napisania aplikacje która będzie przypisywać do osób dodanych w bazie danych zdjęcia (nieokreślona ilość).
W jakim języku to napisać i w oparciu o jaka bazę danych. Domyślam się, że najwygodniej będzie w C#, ale zastanawiam się czy nie wykonać tego może w ASP.NET. Ogólnie wgląd do zasobów nie ma być ograniczony do 1 kompa.

0

najprościej to będzie w tym co znasz

0
  1. Z tego co piszesz to ma to być aplikacja internetowa, więc nie wiem jak byś to chciał jednocześnie napisać w C# i nie w ASP.NET. Chyba, że to nie ma byś aplikacja internetowa, ale to wtedy nie wiem, po co taka aplikacja w formie desktopowej.
  2. Baza danych to nie ma wiekszego znaczenia. Jak chcesz być standardowy: MySQL, jak chcesz być oryginalny: SQLite, PostgreSQL, a jak chcesz być hardcorem to Oracle i to jeszcze w OO. :-)
    3 Język wykonania to już kwestia gustu: PHP to standard, ASP to nowoczesność, JSP to oryginalność.

Polski Portal Programistyczny
http://programowanie.opole.pl

0

Nie koniecznie ma być ta aplikacja webowa. Założeniem aplikacji ma być katalogowanie zdjęć. Ale ma być możliwość przenoszenia, dostępności do danych na innych kompach. Dlatego kieruje się właśnie w stronę aplikacji webowej, która dawała by dużą dostępność.

0

żeby mieć dostęp na innych kompach, musisz mieć serwer, tudzież pendrive'a : P.

jak już masz serwer, to może to być aplikacja webowa lub np. okienkowa, w której będzeisz się łączył (np. po FTP z serwerem) i wysyłał zdjęcia. potem klienci mogą to odbierać z serwera.

0

Ja tylko zasugeruję żebyś nie wpadł na pomysł trzymania zdjęć w bazie. Jest to możliwe, ale rzadko spotykane. Lepiej zdjęcia trzymać w systemie plików, a w bazie trzymać lokalizację zdjęć w systemie plików (ścieżkę względną od jakiegoś kat. głównego czy kat. magazynu aplikacji).

0
  1. Trzymanie zdjęć w bazie nie jest raczej rzadko spotykane. Rozwiązanie wybierane głównie ze względu na optymalizację.
  2. Trzymanie takich rzeczy jak zdjęcia jest nawet sugerowane przez niektore bazy danych, gdyż m.in. z tego powodu utworzyli obiekty typu BLOB.

Opolski Portal Programistyczny
http://programowanie.opole.pl

0

Ale jeśli zdjęcia mają być wyświetlane w aplikacji web, to łatwiej będzie to zrealizować jeśli są w systemie plików, bo wystarczy tylko wypluć w img.src właściwą ścieżkę. Jeśli chce się składować zdjęcia w bazie, trzeba je umieć tam nie tylko włożyć, ale też wyjąć, co dla początkujących jest często trudniejsze. Jeśli żądań wyświetlenia zdjęć będzie dużo, to wg mnie niepotrzebnie obciąży to system bazy danych.
Poza tym trzymając zdjęcia na systemie plików łatwiej możemy manipulować ich lokalizacją (inne partycje/dyski/serwery). W wielu systemach baz danych też można utworzyć odpowiednie jej części na innych dyskach, ale znowu dla początkującego jest to znacząco trudniejsze. Nie wspomnę że mając przeciętny hosting raczej nie osiągalne.

0

Łiii tam, my trzymamy i żyjemy. Trzeba tylko pamiętać, żeby nie wyciągać ich zawsze, a jedynie na żądanie użytkownika. No i u nas przeznaczeniem aplikacji nie jest katalog zdjęć, są one tylko załącznikami do innych encji.

Pytanie, czy zdjęcia mają być zabezpieczone przed swobodnym dostępem czy nie. Baza ułatwia zabezpieczenie.

0

Myślę, że propozycja massther jest najciekawsza. Ogólnie na jakiej bazie danych polecacie pracować? Projekt zostanie oparty o ASP.NET.

0
somekind napisał(a)

Baza ułatwia zabezpieczenie.

Jak? Przecież możesz mieć zdjęcia (dowolne inne pliki) w systemie plików, ale w obszarze poza web serverem. Więc nie ma możliwości podać adresu do pliku. Natomiast aplikacja (skrypt) po autentykacji i autoryzacji zwraca żądany kontent. Więc uzyskujesz dokładnie taką samą funkcjonalność jak w przypadku trzymania plików w bazie.
Nie twierdzę że nie można trzymać plików w bazie, bo sam też w kilku projektach to robiłem. Ale jeśli zapytań o pliki będzie dużo moim zdaniem lepiej pliki umieścić w systemie plików i nie obciążać systemu bazy danych. Chyba że mamy monster-server, który wciągnie takie obciążenie z kabelkiem w ... gniazdku :)

Jeśli napiszesz web aplikację, to warstwa prezentacji może okazać się dla ciebie łatwiejsza, bo jedyne co musisz zrobić mając zdjęcia na dysku, to wygenerować tag img z odpowiednim src.
Jeśli napiszesz aplikację win forms, to będziesz musiał te zdjęcia przesyłać do klienta i wyświetlać. Generalnie stworzenie gui będzie trochę bardziej pracochłonne.
Jeśli serwer jest twój, to najwygodniej użyć MS SQL Server w zestawieniu z c#. Jeśli będzie to jakiś hosting, to pewnie będziesz skazany na MySQL, ewentualnie na Postgreslq. Nie wiem jak teraz, ale kiedyś postgresql był ciekawszym rozwiązaniem niż mysql. Może ktoś lepiej znający najnowsze wersje tych baz może się wypowiedzieć?

1 użytkowników online, w tym zalogowanych: 0, gości: 1