목록데이터베이스 (23)
정보보안공부
# 데이터 베이스 모델링 : 현실세계에 있는 "사물" 또는 "작업"을 DBMS의 테이블로 변경하는 작업을 의미한다. # 모델링 예시) 백화점에 가면 직원도 있고 고객도 있고 백화점에 진열된 상품(물품)들도 있다. 이를 데이터베이스 모델링을 진행하게 되면 직원들은 [직원 테이블]로 만들어내고, 고객들은 [회원 테이블]로 만들어내고, 진열 된 상품들은 [판매 물품 테이블]로 만들어내는 행위를 모델링한다고 한다. =========================1단계========================== 쇼핑몰 데이터베이스를 구축한다고 가정한다. 쇼핑몰에 방문한 고객의 명단, 고객이 어떤 물건을 구매 했는 지 구매내역, 2가지를 데이터베이스에 저장하기로 결정했다. 어떤 고객은 아무 물품도 구매하지 않고 ..
# 트리거 진행 # 네이버, 구글 등 웹 사이트에서 회원가입을 할 때 회원정보를 3년 또는 5년 동안 개인 정보를 보관한다. 약완에 써져있다. # 회원가입을 할 때 입력했던 데이터들은 전부 DB에 저장이 되는 데, 회원탈퇴를 했을 때 DB에 저장 돼 있는 데이터가 삭제 되는 지?? # 회원탈퇴를 해도 입력했던 내 정보는 DB에서 삭제가 안된다. # 로그인을 할 때나 회원 정보를 수정할 때 select 쿼리를 무조건 사용해야 한다. # 위에 상황에서 사용하는 회원 테이블에 회원이 탈퇴하면 회원테이블에 정보를 삭제한다. # 회원정보를 저장하는 테이블은 통상 적으로는 2개를 운영한다. - 현재 회원으로 유지 중인 정보를 저장하는 테이블 - 탈퇴한 회원 정보를 저장하는 테이블 # 회원 탈퇴가 진행 됐을 때는 현..
# SQL에디터에서 Ctrl + s (저장) # Workbench에서 작성한 쿼리를 .sql 인 파일로 저장을 해 놓고 언제든지 필요할 때 그 쿼리를 다시 열어 재 전송할 수 있다. 많은 쿼리들을 빈번하게 사용될 때는 파일로 저장 해 놓고 사용하는게 쿼리를 편하게 사용할 수 있는 방법이 된다. # 나혼자만 쓸때는 파일로 저장 # 여러명이 같이 일괄적으로 묶음 전송할 수 있게 만들 수 있다. ( Stored Procedure사용 ) # Stored Procedure(스토어드 포로시저) : 여러 수백 수천개의 SQL들을 한대 묶음화하는 기능이다. # 스토어드 프로시저를 사용하는 목적은 여러 SQL들을 묶음으로 빈번하게 쿼리를 사용한다고 했을 때, 근데 그 묶음에 쿼리들을 여러 개발자와 MySQL 관리자가 다..
# 뷰어를 만들면 그 뷰어도 테이블 목록에 출력 된다. show tables로 만들어져 있는 뷰어와 테이블을 모두 확인할 수 있다. # drop view uv_memberTBL; -> uv_memberTBL이라는 뷰어를 삭제한다. # 왼쪽 목록에있는 VIEW마우스 우클릭 create view `memberTBL_view` as select memberID, memberAddress from memberTBL; # employee 압출풀고 # workbench -> management -> data import -> self -> employees.sql -> new해서 이름 : employees # 스키마창에서 새로고침 -> use employees; -> show tables; # 자료형 - char ..
# 네이버에 엑셀뷰어 # ncpa.cpl # NN체크 : NULL허용하지 않겟다. # PK체크 : 중복이 안되게한다. # show tables; 위 쿼리처럼 데이터베이스 이름이나 테이블 이름에 공백을 포함하고 있으면 select 쿼리를 작성하는 것이 불편하므로 공백 없는 이름으로 작명하는 것이 개발자도 DB 관리자도 편하게 하게 된다. # workbench에서 SQL을 통해 데이터베이스 또는 테이블을 만들었을 때 좌측 화면 목록에 안보이는데 그때는 새로고침 해야한다. # create table `my DB`.testTBL ( id INT NOT NULL primary key, name CHAR(15) NOT NULL, age INT ); -> 위 쿼리는 my DB라는 데이터베이스에 testTBL 이라는 ..
# workbench에서 -> use mysql; -> select * from korea; ( korea table에 모든것을 보여주라는 뜻 ) -> error발생 mysql안에 korea가 있지 않기 때문이다. -> use test; -> select * from korea; ( korea table에 모든것을 보여주라는 뜻 ) -> 실행 가능test안에 korea가 있다. # select 쿼리를 통해 지정한 테이블에 데이터를 출력해서 확인 할 수 있다. # select 쿼리는 지정한 데이터베이스를 대상으로 쿼리를 전송하게 된다. -> use mysq; -> select * from test.korea ( test라는 데이터베이스안에 있는 korea라는 테이블의 데이터출력 ) -> 실행 가능 # te..
#PuTTY로 MySQL 접속 # MySQL 외부 접속 허용하기 1. mysql -u root -p 2. use mysql; ( mysql의 명령은 뒤에 세미콜론이 붙는다. ) -> Database changed : 정상적으로 작동이 되는 것을 알려준다. 3. grant all privileges on *.* to 'root'@'%' identified by 'mysql root password'; 4. exit ( mysql 로그아웃 ) 5. systemctl restart mysqld # workbench 가동 # 서버실 mysql 사무실 workbench # PuTTY로 사무실에서 접속 1. 방화벽 3306허용 2. MySQL 외부 접속 허용하기 # DBMS1 스냅샷 -> MySQL 외부 접속 허용..
# 가상컴퓨터 복사할때 전원 꺼야한다. # init 0 : 전원끄기 # Manage -> Clone 후 다음 다음 # Create a linked clone , Create a full clone # 가상 컴퓨터 복제 종류 - Link 복제 : 복제하는 가상컴퓨터의 디스크를 복제하지 않고 원래 있는 디스크 한개를 복제한 가상 컴퓨터와 같이 하나의 디스크로 사용한다. ( DBMS1에 RAM CPU GPU HDD 중에서 DBMS2로 복제될때 HDD빼고 복제가된다. HDD는 같이쓴다. ) -> 장점 : 용량이 낭비되지 않는다. -> 단점 : 성능이 저하 된다. - Full 복제 : -> 장점 성능이 저하되지 않는다. -> 단점 : 용량이 낭비 된다. # 가상 컴퓨터 복제를 진행할 때 전원을 꺼야지 전원을 일시..