Karena Anda tidak menyebutkan di mana Anda ingin mengimplementasikan database Anda , saya menganggap Anda melakukan ini untuk situs web, pendekatan yang saya gunakan adalah sebagai berikut:
Katakanlah saya memiliki direktori dengan 100 gambar, masing-masing dinamai secara berurutan:
1.png
2.png
3.png
…
100.png
Jadi saya membuat basis data yang menyimpan informasi gambar tersebut di dalam kolom sebagai berikut:
id, name, size, keywords, …
Jadi saya akan membuat kueri yang mengambilnya berdasarkan informasi terkait yang disediakan:
"SELECT * FROM `images` WHERE NAME LIKE ?"
Jadi saya dapat mengaksesnya karena id mereka terkait dengan nama file mereka, misalnya:
echo '<img src="'.$queryResult->id.'png">';
Tetapi sekali lagi, itu tergantung pada implementasi Anda, apakah ini untuk situs web, aplikasi seluler, atau aplikasi desktop?
Perbarui :
Karena Anda mengatakan ini untuk situs web, dan jika gambar tidak akan diunggah oleh klien, tetapi hanya oleh admin, maka ini tentu saja merupakan pendekatan terbaik. Tetapi Anda mungkin ingin melihat juga Gumpalan .
Keuntungan utama dari pendekatan ini (menyimpannya di sistem file daripada di dalam db) adalah bahwa Anda dapat dengan mudah mengakses gambar Anda dan mengeditnya, mengubah ukurannya, mengubahnya dan melakukan apa pun yang dapat Anda lakukan untuk gambar normal, tanpa harus mengambil mereka dari db setiap kali Anda harus melakukan perubahan. Bahkan, banyak situs web yang meng-host OC pengguna menggunakan pendekatan ini untuk menyimpan gambar, misalnya: 9GAG, 4Chan.