전체 글
-
[OS] 디스크 볼륨과 파티션 / 가상 파일 시스템운영체제 2020. 12. 12. 17:31
볼륨과 파티션 하드웨어 저장장치는 볼륨을 담고있는 파티션으로 구분됨 각 볼륨은 파일 시스템으로 정형화됨 마운팅 마운팅 : 마운트 포인트에 파일 시스템이 연결되는 것 OS 는 디바이스 이름과 마운트 포인트를 전달받아 해당 디바이스를 주어진 포인트에 마운트함 A 라는 마운트 포인트에 U1 이 마운트 되어 있다면 사용자는 A에 접근하면 U1 에 접근할 수 있음 그러던 중 A에 U2 를 새로 마운팅하게 된다면 사용자는 A를 통해 U2 만을 접근할 수 있으며 U1 은 접근하지 못함. 중요한 점은 U1이 삭제되는 것이 아니라 그냥 접근을 하지 못할 뿐이라는 것임. 다른 공간에 마운팅하면 접근 가능 파티션 파티션 : 볼륨을 논리적으로 나눈 것 파티션은 특정 파일 시스템으로 포맷하거나 raw 한 상태로 둘 수도 있음...
-
[OS] 디스크 볼륨과 파티션 / 가상 파일 시스템운영체제 2020. 12. 12. 17:31
볼륨과 파티션 하드웨어 저장장치는 볼륨을 담고있는 파티션으로 구분됨 각 볼륨은 파일 시스템으로 정형화됨 마운팅 마운팅 : 마운트 포인트에 파일 시스템이 연결되는 것 OS 는 디바이스 이름과 마운트 포인트를 전달받아 해당 디바이스를 주어진 포인트에 마운트함 A 라는 마운트 포인트에 U1 이 마운트 되어 있다면 사용자는 A에 접근하면 U1 에 접근할 수 있음 그러던 중 A에 U2 를 새로 마운팅하게 된다면 사용자는 A를 통해 U2 만을 접근할 수 있으며 U1 은 접근하지 못함. 중요한 점은 U1이 삭제되는 것이 아니라 그냥 접근을 하지 못할 뿐이라는 것임. 다른 공간에 마운팅하면 접근 가능 파티션 파티션 : 볼륨을 논리적으로 나눈 것 파티션은 특정 파일 시스템으로 포맷하거나 raw 한 상태로 둘 수도 있음...
-
[DB] DB 와 응용프로그램데이터베이스 2020. 12. 9. 21:17
DB 를 이용하여 응용프로그램 제작 Static approaches : 코드에 SQL을 박아 넣는 방법 ESQL/C, ESQL/C++ Dynamic approaches : SQL API 를 호출하는 방법 SQL CLI, ODBC, JDBC 내장 SQL (Embeded SQL) C/C++ 은 SQL 문을 알지 못하기 때문에 컴파일에러가 발생하므로 전처리 과정이 필요 예) EXEC SQL ; END_EXEC 커서 (Cursor) SQL 의 수행 결과가 테이블인 경우 row 가 몇개나 될지 알 수 없기 때문에 고정된 길이의 데이터 구조를 정의할 수 없음 따라서 query 의 수행 결과를 tuple 단위로 리턴해주는 역할을 맡는게 커서임 Dynamic SQL Query 문을 동적으로 받을 수 있음 ODBC, J..
-
[DB] 순환질의 (Recursive query)데이터베이스 2020. 12. 8. 21:54
순환질의 (Recursive query) 회사에서 “사업기획부 산하의 모든 부서를 알아오라" 라는 요구사항이 있을 수 있음 보통의 DB에서는 자기 직속 상위(부모) 부서만을 갖고 있기에 순환질의를 통해 해결할 수 있음 일반적인 Tree 구조에서 Search 하는 문제를 생각하면 이해가 쉬움 courseID : 과목 아이디 prereqID : 위 과목을 듣기 위해 미리 들어야하는 선이수 과목 아이디 WITH RECURSIVE recursivePrereq(courseID, prereqID) AS (SELECT courseID, prereqID FROM prereq) UNION SELECT recursivePrereq.courseID, prereq.prereqID FROM recursivePrereq, pre..
-
[DB] Msql 권한데이터베이스 2020. 12. 8. 04:50
권한 (Authorization) 데이터베이스 관리자(DBA) 가 다른 사용자에게 권한을 부여, 회수 할 수 있음 데이터 권한 Read 권한 : 읽기는 가능하지만 데이터 수정은 불가능 Insert 권한 : 새로운 데이터의 생성은 가능하지만 데이터 수정은 불가능 Update 권한 : 수정은 가능하지만 데이터 삭제는 불가능 Delete 권한 : 데이터 삭제 가능 스키마 수정 권한 인덱스 권한 : 인덱스를 만들고, 제거할 수 있는 권한 리소스 권한 : 테이블 생성 권한 Alteration 권한 : 테이블 속성 추가, 삭제 권한 드랍 권한 : 테이블 삭제 권한 권리(Privilege) select insert update delete references : 권한을 부여받은 사용자만 FK 를 만들 수 있도록 함 ..
-
[DB] Mysql 트리거데이터베이스 2020. 12. 8. 03:19
Trigger ECA(Event-Condition-Action) rule 을 따르는 객체이며, 사건 발생 전(후) 조건 만족 시 Action 을 취한다는 뜻 Event : Insert, delete, update insert 혹은 update 시 “referencing new row as A” 에서 new row, 즉 변경된 새로운 row 를 A로 부르겠다. 라는 뜻 delete 혹은 update 시 “referencing old row as B” 에서 old row, 즉 변경전의 기존 row 를 B로 부르겠다, 라는 뜻 Event 발생 전 : Before Event 발생 후 : After 조건 만족 : When 행동 : Begin atomic End; CREATE TRIGGER myCredits AFT..
-
[DB] On Delete, On Update, Check, Assertion데이터베이스 2020. 12. 6. 21:42
Integrity Constraint On Delete, On Update teaches 가 professor 를 참조하고 있는 상황에서 professor 가 삭제 혹은 수정 될 때 Cascade : 관련된 teaches 도 삭제 Set null : teaches 의 pID 를 null 로 설정 위의 경우 허용되지 않음 teaches 의 PK 는 다중 column 으로 구성되었으며 그 중 한 column 이 pID 이기 때문 No action : 허용하지 않음 pID 가 200인 teaches row 를 모두 삭제한 뒤 professor 200을 삭제 가능 Deferrable IC (지연된 제약조건) 초기 DB를 구성하는 상황에서 미리 준비된(준비되었다고 가정) 대용량의 teaches 와 professo..
-
[DB] Mysql View데이터베이스 2020. 12. 6. 21:05
View 다른 DB user 에게 정보를 제한적으로 제공하고자 할 때 사용하는 기능으로 보안을 위함 예를 들어 Professor 테이블을 공개하되 Salary(연봉) 정보는 제외한 column 들만 공개하고싶다. 하는 요구사항이 있을 때 사용 View 는 Virtual Relation 이라고 불리기도 함 CREATE VIEW faculty AS SELECT pID, name, deptName FROM Professor; SELECT name FROM faculty WHERE deptName = ‘CS’; View 는 항상 최신의 데이터를 갖고 있음 → 실제 Table 을 다른 창구로 바라보는 것일 뿐이기 때문 View 를 이용하여 또 다른 View 를 정의할 수도 있음 View Expansion : Vi..